2

我已经在其中创建了一个admin模块,yii并且我希望该模块使用自定义布局。所以我把cssjs文件放在了protected/module/admin/assets,我怎样才能在这个文件夹中包含cssjs文件?

现在我有另一个问题:我已将文件放入文件protected/modules/admin/css/assetsbootstrap.min.css夹中,无论如何我都无法包含它,即使我使用绝对路径。我也尝试以其他方式,例如:

<link rel="stylesheet" href="<?php echo Yii::app()->baseUrl;?>/protected/modules/admin/css/assetsbootstrap.min.css" />

这种方式在模块中不起作用吗?

4

2 回答 2

2

检查此扩展程序

Yii 管理模块

打开 AdminModule.php,有用于配置管理模块的位置。我只是发布你需要的部分

public function getAssetsUrl()
    {
        if (!isset($this->assetsUrl))
        {
            $assetsPath = Yii::getPathOfAlias('admin.assets');
            $this->assetsUrl = Yii::app()->assetManager->publish($assetsPath, false, -1, $this->forceCopyAssets);
        }

        return $this->assetsUrl;
    }


protected function registerCoreCss()
    {
        Yii::app()->clientScript->registerCssFile($this->getAssetsUrl() . '/css/admin.css');
    }

protected function registerScript(){
    $js_arr = array('jquery.min.js', 'jqueryui.js'); //put what js file name that you need to import from admin assets folder
    foreach($js_arr as $filename){
        Yii::app()->getClientScript()->->registerScriptFile($this->getAssetsUrl().'/js/'.$filename, CClientScript::POS_END);
    }
}

然后在init()

public function init(){
    //set import ...
    // configure module ...
    // configure component  ....

    $this->registerCoreCss();
    $this->registerScript();

}
于 2013-10-23T02:47:34.737 回答
1

这个给你:

$baseUrl = Yii::app()->baseUrl; 
$cs = Yii::app()->getClientScript();
$cs->registerScriptFile($baseUrl.'/js/yourscript.js');
$cs->registerCssFile($baseUrl.'/css/yourcss.css');

或者

通过编辑 config/main.php

// application components
  'components'=>array(
         // ...
        'clientScript'=>array(
            'packages'=>array(
                'jquery'=>array(
                    'baseUrl'=>'//ajax.googleapis.com/ajax/libs/jquery/1/',
                    'js'=>array('jquery.min.js'),
                )
            ),
        ),
        // ...
  ),

查看更多:Yii 包含 Javascript、css 文件

于 2013-10-31T15:23:42.457 回答