Yii 包含 CSS 和 javascript 文件

标签 yii module

我在 yii 中创建了一个 admin 模块,我希望该模块使用自定义布局。 所以我将 cssjs 文件放在 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" />

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

最佳答案

检查此扩展

Yii admin module

打开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/

相关文章:

python - ImportError : attempted relative import with no known parent package :(

php - MySQL 根据两个现有表计算创建一个表

php - Yii 框架的 Yiistrap 中的 Bootstrap 路径和 CDN URL 无效

php - Yii:模型属性不保留类型?

linux - 如何在 linux 上安装 lua 模块

drupal - 如何在 Drupal 7 中以编程方式创建新的内容类型?

php - 如何 yii getPost 获取数组 _POST 变量?

php - 比较 CodeIgniter 与 Yii 的基准测试

apache - mod_pagespeed 信标有什么作用?

Ruby 在模型中包含模块的单一方法