gpt4 book ai didi

php - 弄清楚 Yii2 在使用回退时如何找到主题资源

转载 作者:IT王子 更新时间:2023-10-29 00:06:01 27 4
gpt4 key购买 nike

我正在使用 Yii2 并且一直在阅读 themingtheme inheritance ;但是有一些问题:

考虑以下示例:

'view' => [
'theme' => [
'pathMap' => [
'@app/views' => [
'@app/themes/current',
'@app/themes/default',
],
],
'baseUrl' => '@web/themes/current',
'basePath' => '@webroot/themes/current',
],
],

现在,假设我们请求主题文件 foo;据我了解,这将首先按以下顺序查找:

  • @app/themes/current/foo.php
  • @app/themes/default/foo.php
  • @app/views/foo.php

现在假设 foo.php@app/themes/current/ 主题中找不到,所以它将使用在 @app 中找到的文件/主题/默认/

现在,考虑到 baseUrlbasePath 设置,我有点困惑如何在这些情况下使用它们。

现在,假设 foo.php 引用文件中的图像文件,这不会仍然尝试查找 @web/themes/current/images/myImage.jpg 而不是 @web/themes/default/images/myImage.jpg?

最佳答案

在这种情况下,basePath 毫无值(value)。因为 basePath 仅在以下情况下应用pathMap 为空。
basePath不是fallback,它是pathMap的快捷方式,只有一个主题时可以快速使用。

'pathMap' => [
'@app/views' => [
'@app/themes/current/views',
],
],

相当于:

'basePath' => '@app/themes/current', 

(Yii 理解文件夹 @app/themes/current/views 存在)

baseUrl:在 View 文件中调用$this->theme->getBaseUrl()时返回。多主题的值(value)较低。

关于静态文件的回退。主题回退不是为此目的而设计的。

关于php - 弄清楚 Yii2 在使用回退时如何找到主题资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com