2016-04-30 37 views
2

我想在YII2基本应用上集成一个自定义主题。禁用一个CSS只适用于一种布局yii2

我有两个布局,主布局和其他是登录布局。

现在我不需要一个css文件在登录布局上说xyz.css,但它会在那里加载,我的设计越来越混乱。任何适当的方式禁用它在一个布局?

我从AppAsset.php文件注册我的css文件。

CSS的部分看起来像

public $css = [ 
     'themes/mytheme/assets/css/xyz.css', 
     'themes/mytheme/assets/css/main.css' 
    ]; 

回答

2

步骤 - 1:assets文件夹创建LoginAsset.php

LoginAsset.php

在这个文件中,保持这是需要登录那些.css & .js

<?php 
namespace app\assets; 
use yii\web\AssetBundle; 

class LoginAsset extends AssetBundle 
{ 
    public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $css = [ 
    'css/include-your-css-if-any.css' 
    ]; 
    public $js = [ 
     'js/include-your-js-if-any.js', 
    ]; 
} 

步骤 - 2:既然,你告诉你有一个以上的布局,即login layout。因此,使用LoginAsset.phplogin layout,像:

login.php中(二分之一的布局,即main/login.php

<?php 
use yii\helpers\Html; 

use app\assets\LoginAsset; 
LoginAsset::register($this); 
?> 
<?php $this->beginPage() ?> 
. 
. // Your code 

步骤 - 3:如果即使没没有工作。然后,

view文件的顶部包含

<?php 
use app\assets\LoginAsset; 
LoginAsset::register($this); 
. 
. 
?> 

相关搜索

+1

谢谢娜娜... :) – hs19

+0

随时欢迎@ hs19':)' –