2016-04-29 2 views
0

Я хочу disalbe vendor-core.js в файле myParticular. Я включил его в AppAsset.php. , но я не нуждаюсь в нем на определенной странице, так как это вызывает некоторые серьезные проблемы.Исключить Js (vendor-core.js) файл с определенного вида в yii2

Мне нужно удалить файл vendor-core.js, в частности файл просмотра. Другие файлы Js будут загружены как есть.

vendor-core.js необходим в большинстве видов. но лишь немногие - важные взгляды, в которых я не хочу включать его.

Любая помощь будет высоко оценена.

заранее спасибо ..

Вот мой AppAsset код

<?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

Вы можете использовать функцию Init в вашей AppAsset и нажмите CSS или ваши JS на условиях в соответствии с идентификатором контроллера и/или действия 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 массива вместо толчка в приведенной выше функции, и она не будет загружаться в т шляпа конкретное действие

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

Большое спасибо ... твой трюк отлично работает .. :) @ Kandarp Patel –

Смежные вопросы