Как отключить ассеты родителя в виджете наследнике?
Есть виджет, наследующийся от yii\bootstrap4\Modal. Этот дефолтный виджет подключает у себя скрипты, такие как bootstrap.js и bootstrap.css определённой версии. А я бы хотел использовать другие версии, но с таким же функционалом, что написан в виджете.
Как можно заменить эти стили конкретно в виджете? Как можно их отменить и не применять стили и скриты родителя?
upd
методы обнуления типа
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapPluginAsset' => false,
'yii\bootstrap4\BootstrapPluginAsset' => false,
'yii\bootstrap\BootstrapAsset' => false,
'yii\bootstrap4\BootstrapAsset' => false,
],
],
не работают.проблема в том, что родитеь в себе использует трейт, в котором есть метод, который регистрирует ассет. И поэтому видимо конфиг не отрабатывает. Хотя и на других ассетах пробовал. Не знаю почему, но такое обнуление просто не работает
Ответы (1 шт):
у родительского виджета был есть трейт, в котором есть метод, в котором подключается ассет
/**
* @inheritdoc
*/
protected function registerPlugin($name) {
$view = $this->getView();
BootstrapPluginAsset::register($view);
$id = $this->options['id'];
if ($this->clientOptions !== false) {
$options = empty($this->clientOptions) ? '' : Json::htmlEncode($this->clientOptions);
$js = "jQuery('#$id').$name($options);";
$view->registerJs($js);
}
$this->registerClientEvents();
}
Пока ничего лучшего в голову не пришло, кроме как переопределить данный метод, вписав те же самые строки, за исключением подключения ассета.
Увы, хоть какие-либо другие способы не помогают