Yii2主题整合?
'view' => [
'theme' => [
'pathMap' => ['@app/views' => '@app/admin/views'],
'baseUrl' => '@web/admin',
],
],
答案 0 :(得分:9)
希望您使用高级模板
在后端文件夹中添加文件夹主题
制作一个包含主题名称的子文件夹,并确保该文件夹中有layouts文件夹
即 您的新布局文件夹路径将是
<强>后端/主题/ themefoldername /布局强>
文件夹 backend / config / main.php
'components' => [
'view' => [
'theme' => [
'basePath' => '@backend/themes/themefoldername',
'baseUrl' => '@backend/themes/themefoldername',
'pathMap' => [
'@backend/views' => '@backend/themes/themefoldername',
],
],
],...
如果您想将其保留在网络文件夹中,也可以这样做,但请确保相应地更改路径
答案 1 :(得分:1)
在预先模板中,前端和后端主题集成有单独的配置。
前端主题整合=&gt; “ frontend / config / main.php ”文件:
'components' => [
'view' => [
'theme' => [
'pathMap' => [
'@frontend/views' => '@themes/frontend/views', // need to // set alias first in your bootstrap.php file
],
],
],
],
后端主题整合=&gt; “ backend / config / main.php ”文件:
'components' => [
'view' => [
'theme' => [
'pathMap' => [
'@backend/views' => '@themes/backend/views', // need to set // alias first in your "common/config/bootstrap.php" file
],
],
],
],
编码时会处理注释和目录路径,而不需要编写baseUrl或basePath。
答案 2 :(得分:0)
创建&#34;主题&#34; web目录中的目录并在那里创建主题。
然后将此代码包含在主配置文件中。
'view' => [
'theme' => [
'baseUrl' => '@web/themes/yourthemename',
'pathMap' => [
'@app/views' => [
'@webroot/themes/yourthemename/views',
]
],
],
]
答案 3 :(得分:0)
在web.php文件中使用此代码。
'view' => [
'theme' => [
'class' => yii\base\Theme::className(),
'basePath' => '@app/themes/themename',
'baseUrl' =>'@web/themes/themename',
],
],
答案 4 :(得分:0)
这是我通常用于主题化的代码。您可以在params文件中设置param并在其中添加主题名称或直接在下面的代码中。
'view' => [
'theme' => [
'pathMap' => ['@app/views' => '@webroot/themes/themename/views'],
'baseUrl' => '@web/themes/themename',
],
],
答案 5 :(得分:0)
如果你使用yii2 basic,那么在config / web.php中写这个
return [
'components' => [
'view' => [
'theme' => [
'basePath' => '@app/themes/basic',
'baseUrl' => '@web/themes/basic',
'pathMap' => [
'@app/views' => '@app/themes/basic',
],
],
],
],
];
答案 6 :(得分:0)
我有adminlte主题,这是找到供应商文件夹, 然后在config / main.php中添加了这个:
'components' => [
'view' => [
'theme' => [
'pathMap' => [
'@app/views' => '@vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app'
],
],
],
答案 7 :(得分:0)
在config / web.php下的基本安装中,在组件块下添加代码。
'components' => [
................
....................
'view' => [
'theme' => [
'pathMap' => [
'@app/views' => '@app/themes/mytheme',
'@app/modules' => '@app/themes/mytheme/modules',
],
'baseUrl' => '@web/themes/mytheme',
],
],
...........
]
答案 8 :(得分:0)
请参阅以下链接,了解安装主题和设置。
http://banoprogrammer.blogspot.in/2017/07/backend-theme-installation.html
答案 9 :(得分:0)
我使用高级模板为我的前端设置了一个主题。我的主题位于我为存储主题而创建的主题文件夹中。例如。 web/themes/cerulean
。在任何单个主题文件夹下都没有物理视图文件夹,可能是我所看到的一些键/值对所建议的。 ['@app/views' => '@webroot/themes/themename/views]
。实际上,我的代码运行时带有或不带有value的views子文件夹。这是我的工作code => @webroot/themes/cerulean
而不是@webroot/themes/cerulean/views
,但确实需要密钥的views
子文件夹。即。 @app/views
。我已经测试了这两种变体,它们都有效,所以不要担心你是否对值的结束有了看法。
因为我正在使用主题作为前端,所以我已将@app/views
替换为@frontend/views
。这是我的frontend/config/main.php
文件中的代码。
'view' => [
'theme' => [
'pathMap' => ['@frontend/views' => '@webroot/themes/cerulean',],
'baseUrl' => '@web/themes/cerulean',
],
],
这是我的frontend\assets\appasset.php
文件中的代码:
namespace frontend\assets;
use yii\web\AssetBundle;
use Yii;
Yii::setAlias('@themes', Yii::$app->view->theme->baseUrl);
/**
* Main frontend application asset bundle.
*/
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
//public $baseUrl = '@web';
public $baseUrl = '@themes';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
您将在上面注意到我已经替换了
public $baseUrl = '@web';
我在顶部设置了一个别名@themes,即...
Yii::setAlias('@themes', Yii::$app->view->theme->baseUrl);
上面代码中的baseurl现在设置为@themes,它实际上代表@web/themes/cerulean
'取自位于'view' => 'theme'
文件main.php
下的frontend/config
设置。{ / p>