Yii包括CSS和javascript文件

Yii包括CSS和javascript文件,yii,module,Yii,Module,我已经在yii中创建了一个admin模块,我希望该模块使用自定义布局。 因此,我将css和js文件放在protected/module/admin/assets中,如何将css和js文件包含在此文件夹中 现在我有另一个问题: 我已将该文件放在protected/modules/admin/css/assetsbootstrap.min.css文件夹中,但无论如何我都不能包含它,即使我使用绝对路径。我还尝试了其他方式,如: <link rel="stylesheet" href="<?

我已经在
yii
中创建了一个
admin
模块,我希望该模块使用自定义布局。 因此,我将css和js文件放在
protected/module/admin/assets
中,如何将css和js文件包含在此文件夹中

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

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

签出此扩展名

打开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()中

给你:

$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'),
                )
            ),
        ),
        // ...
  ),

查看更多信息:

我认为这种方法有点复杂,还有其他方法吗?在我看来,我想在config文件夹中的“main”配置文件中定义一个常量,但它不起作用!还是谢谢你Telvin Nguyen!我得到了它!我通过阅读这个帖子解决了myq问题:可能是
// application components
  'components'=>array(
         // ...
        'clientScript'=>array(
            'packages'=>array(
                'jquery'=>array(
                    'baseUrl'=>'//ajax.googleapis.com/ajax/libs/jquery/1/',
                    'js'=>array('jquery.min.js'),
                )
            ),
        ),
        // ...
  ),