2014-11-04 15 views
26

Giống như tiêu đề, tôi không muốn sử dụng bootstrap.css và bootstrap.js. Tôi thử sử dụng:Yii2 vô hiệu hóa Bootstrap Js, JQuery và CSS

'assetManager' => [ 
    'bundles' => [ 
     'yii\bootstrap\BootstrapAsset' => [ 
      'css' => [], 
     ], 
    ], 
], 

Nó xóa bootstrap.css nhưng không thể xóa bootstrap.js. Ai đó có thể giúp tôi?

Trả lời

66

Trong web.php tập tin cấu hình thêm đoạn mã sau vào thành phần mảng:

'assetManager' => [ 
     'bundles' => [ 
      'yii\bootstrap\BootstrapPluginAsset' => [ 
       'js'=>[] 
      ], 
     ], 
    ], 

Để đầy đủ hơn:

để vô hiệu hóa Css (bootstrap.css):

'assetManager' => [ 
    'bundles' => [ 
     'yii\bootstrap\BootstrapAsset' => [ 
      'css' => [], 
     ], 
    ], 
], 

để tắt JS (bootstrap.js):

'assetManager' => [ 
    'bundles' => [ 
     'yii\bootstrap\BootstrapPluginAsset' => [ 
      'js'=>[] 
     ], 
    ], 
], 

để vô hiệu hóa JQuery (jquery.js)

'assetManager' => [ 
    'bundles' => [ 
     'yii\web\JqueryAsset' => [ 
      'js'=>[] 
     ], 
    ], 
], 

Để có tất cả trong số họ tàn tật:

'assetManager' => [ 
    'bundles' => [ 
     'yii\web\JqueryAsset' => [ 
      'js'=>[] 
     ], 
     'yii\bootstrap\BootstrapPluginAsset' => [ 
      'js'=>[] 
     ], 
     'yii\bootstrap\BootstrapAsset' => [ 
      'css' => [], 
     ], 

    ], 
], 

CẬP NHẬT

Như Soju đề cập trong các ý kiến, một cách khác để thay thế sẽ được vô hiệu hóa những tập tin này trong AppAsset lớp, mà nằm ở ./assets/, sau đó loại bỏ các dòng sau:

public $depends = [ 
    'yii\web\YiiAsset',    #REMOVE 
    'yii\bootstrap\BootstrapAsset', #REMOVE 
]; 
+1

cảm ơn bạn rất nhiều :) – taratula

+1

Tại sao điều này cho tôi: 'Gọi không hợp lệ - yii \ base \ InvalidCallException Thiết read-only bất động sản: yii \ web \ Ứng dụng :: assetManager'? –

+0

Làm thế nào tôi có thể đạt được điều này trong Yii v1.1.15? –

7

Đối với bất cứ ai mà được "Call không hợp lệ "lỗi bạn phải thêm câu trả lời của Ali cho 'thành phần' trong biến $ config trong app/config/web.php Ví dụ:

'components' => [ 
    'assetManager' => [ 
     'bundles' => [ 
      'yii\web\JqueryAsset' => [ 
       'js'=>[] 
      ], 
      'yii\bootstrap\BootstrapPluginAsset' => [ 
       'js'=>[] 
      ], 
      'yii\bootstrap\BootstrapAsset' => [ 
       'css' => [] 
      ] 
     ] 
    ], 
    ... 
], 
+0

Cảm ơn bạn đã giải quyết được vấn đề. –

+0

Điều này đúng cho mẫu cơ sở – MeV

5

Mở tập tin AppAsset.php thêm này:

public function init() 
{ 
    parent::init(); 
    // resetting BootstrapAsset to not load own css files 
    \Yii::$app->assetManager->bundles['yii\\bootstrap\\BootstrapAsset'] = [ 
     'css' => [], 
     'js' => [] 
    ]; 
} 
+1

Đây là một tùy chọn sạch hơn thay vì cấu hình tệp và có thể được sử dụng để đặt lại bootstrap từ các chủ đề – paulus

Các vấn đề liên quan