2016-04-29 16 views
0

myParticularビューファイルでvendor-core.jsを無効にしたいと思います。 私はそれをAppAsset.phpに含めました。 しかし、私はいくつかの深刻な問題を引き起こしているので、特定のページでそれを必要としません。yii2の特定のビューからJs(vendor-core.js)ファイルを除外

特定のビューファイルでvendor-core.jsを削除する必要があります。それ以外のJsファイルはそのままロードされます。

ほとんどのビューでvendor-core.jsが必要です。私はそれを含めることを望んでいない重要なビューはほとんどありません。

どのようなヘルプも高く評価されます。事前に

おかげで...ここで

は私AppAssetコードは、あなたはコントローラIDおよび/またはアクションに応じた条件でAppAsset とプッシュCSSや、あなたのjsにInit関数を使用することができます

<?php 

/** 
* @link http://www.yiiframework.com/ 
* @copyright Copyright (c) 2008 Yii Software LLC 
* @license http://www.yiiframework.com/license/ 
*/ 

namespace frontend\assets; 

use yii\web\AssetBundle; 


/** 
* @author Qiang Xue <[email protected]> 
* @since 2.0 
*/ 
class AppAsset extends AssetBundle { 

    public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $css = [ 
     // 'css/site.css', 
     'css/vendor.min.css', 
     'css/theme-core.min.css', 
     'css/module-essentials.min.css', 
     'css/module-layout.min.css', 
     'css/module-sidebar.min.css', 
     'css/module-sidebar-skins.min.css', 
     'css/module-navbar.min.css', 
     'css/module-media.min.css', 
     'css/module-timeline.css', 
     'css/module-chat.min.css', 
     'css/module-charts.min.css', 
     'css/module-maps.min.css', 
     'css/jquery-ui-timepicker-addon.css', 
     'css/custom.css', 
    ]; 
    public $js = [ 
     'js/vendor-core.js', 
     'js/vendor-tables.min.js', 
    // 'js/vendor-forms.min.js', 
     'js/vendor-media.min.js', 
     'js/vendor-charts-all.min.js', 
     'js/vendor-maps.min.js', 
     'js/vendor-tree.min.js', 
     'js/vendor-nestable.min.js', 
    //  'js/module-essentials.min.js', 
    //  'js/module-layout.min.js', 
     'js/module-sidebar.min.js', 
     'js/module-media.min.js', 
     'js/module-chat.min.js', 
     'tinymce/js/tinymce/tinymce.min.js', 
     'js/jquery-ui-sliderAccess.js', 
    ]; 
    public $depends = [ 
     'yii\web\YiiAsset', 
     'yii\web\JqueryAsset', 
     'yii\bootstrap\BootstrapAsset', 

    ]; 

//public $jsOptions =[ 
// 'position' => \yii\web\View::POS_READY 
//]; 

} 
+0

@GAMITG:これは助けることができますか? –

答えて

0

ですID

public function init() 
{ 
    if(\Yii::$app->controller->id == 'controllerid') 
    { 


     array_push($this->css,'css-path/file.css'); 

     array_push($this->js, 'js-path/file.js'); 
    } 
} 

そして、あなたの場合、容易にするために、あなたは上記の機能に代わりにプッシュJSの配列から同じ設定を解除することができますし、それをtにロードされません帽子の特定の行動

if(($key = array_search('js-path/file.js', $this->js)) !== false) { 
        unset($this->js[$key]); 
    } 
+0

ありがとうございます...あなたのトリックはうまく動作します.. :) @Kandarp Patel –

関連する問題