2016-04-29 21 views
0

Ich möchte vendor-core.js in myParticular View-Datei disalbe. Ich habe es in AppAsset.php aufgenommen. aber ich brauche es nicht in bestimmten Seite, da es einige ernste Probleme verursacht.Exclude Js (vendor-core.js) -Datei von bestimmten Ansicht in yii2

Meine Notwendigkeit ist, Vendor-core.js in bestimmten Ansichtsdatei zu entfernen. Andere JS-Dateien werden so wie sie sind geladen.

vendor-core.js wird in den meisten Ansichten benötigt. aber wenige sind wichtige Ansichten, in denen ich es nicht aufnehmen möchte.

Jede Hilfe wird sehr geschätzt.

Dank im Voraus ..

Hier ist mein AppAsset Code

<?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: können Sie dabei helfen? –

Antwort

0

Sie Init-Funktion in Ihrem AppAsset und CSS oder Ihre js aufschieben Bedingungen nach Controller-ID und/oder die Aktion verwenden können 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'); 
    } 
} 

und für die Leichtigkeit in Ihrem Fall können Sie das gleiche von js Array anstelle von Push-in über Funktion Frisch- und es wird in t nicht geladen werden hat besondere Handlung

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

Vielen Dank ... Ihr Trick funktioniert gut .. :) @Kandarp Patel –