我在 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()
public function init(){
//set import ...
// configure module ...
// configure component ....
$this->registerCoreCss();
$this->registerScript();
}
关于Yii 包含 CSS 和 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531653/