2013-10-23 107 views
0

我在yii中創建了admin模塊,我希望模塊使用自定義佈局。 所以我把CSSJS文件中protected/module/admin/assets,我怎麼能包括CSSJS文件此文件夾中?Yii包含CSS和javascript文件

,我現在有一個問題: 我已經把文件中的protected/modules/admin/css/assetsbootstrap.min.css文件夾,我不能包括它無論如何,即使我用的是絕對path.I也嘗試像其他方式:

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

是這種方式不能在模塊中工作?

+0

還是謝謝Telvin Nguyen!我明白了! – Chain

+0

我解決了myq問題閱讀此線程:http://stackoverflow.com/questions/12969358/how-do-i-add-scripts-and-stylesheets-inside-yii-module – Chain

+0

可能的重複[包括CSS,javascript在Yii框架中的文件](http://stackoverflow.com/questions/1998449/include-css-javascript-file-in-yii-framework) – Manquer

回答

2

檢查這個擴展出

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(); 

} 
+0

我認爲這種方式有點複雜,有沒有其他方式?意見,我想定義一個常量在配置文件夾中的'主'配置文件,但它不工作! – Chain

1

給你:

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

OR

編輯的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 include Javascript, css file