yii\bootstrap\BootstrapAsset
ne charge pas bootstrap.js
et des éléments tels que "modal" et d'autres ne fonctionnent pas.
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
/* theme */
'css/site.css',
/* jasny bootstrap */
'public/jasny/css/jasny-bootstrap.min.css',
/* font awesome */
'public/font-awesome-430/css/font-awesome.min.css',
/* font roboto */
'public/fonts/roboto/roboto.css',
/* Data Tables */
'public/datatables/extensions/integration/bootstrap/3/dataTables.bootstrap.css',
];
public $js = [
/* jasny bootstrap */
'public/jasny/js/jasny-bootstrap.min.js',
/* Data Tables */
'public/datatables/datajs.js',
'public/datatables/media/js/jquery.dataTables.min.js',
'public/datatables/extensions/integration/bootstrap/3/dataTables.bootstrap.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
Ici est l'écran des bibliothèques, bootstrap.js
y manque.
Tu peux l'essayer:
class AppAsset extends AssetBundle{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/mystyle.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapPluginAsset',
];
}
Si vous regardez le contenu de BootstrapAsset
bundle, vous verrez qu'il n'y a pas de bootstrap.js
:
class BootstrapAsset extends AssetBundle
{
public $sourcePath = '@bower/bootstrap/dist';
public $css = [
'css/bootstrap.css',
];
}
Pour bootstrap.js
, un autre groupe d'actifs existe et s'appelle BootstrapPluginAsset
:
class BootstrapPluginAsset extends AssetBundle
{
public $sourcePath = '@bower/bootstrap/dist';
public $js = [
'js/bootstrap.js',
];
public $depends = [
'yii\web\JqueryAsset',
'yii\bootstrap\BootstrapAsset',
];
}
Le nom complet de la classe avec l'espace de noms est: yii\bootstrap\BootstrapPluginAsset
.
Il est automatiquement inclus lorsque vous utilisez des widgets d'amorçage dépendants de js tels que yii\bootstrap\Modal
, etc.
quand vous ajoutez une dépendance
public $depends = [
'yii\bootstrap\BootstrapAsset',
];
son seul ajout bootstrap css
pendant que vous ajoutez
public $depends = [
'yii\bootstrap\BootstrapPluginAsset',
];
ses ajoutent bootstrap css ainsi que js
Vous pouvez le faire dans le fichier de configuration principal (config/web.php
):
'components' => [
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'js' => ['js/bootstrap.js'],
],
],
],
],
Vous pouvez essayer ceci dans AppAsset.php
class AppAsset extends AssetBundle{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/mystyle.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapPluginAsset',
];
}
et aussi changer dans vous config/main.php
'components' => [
'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'js' => ['js/bootstrap.min.js'],
],
],
],
],
J'ai essayé ces étapes qui résoudront mon problème, c'est tout pour votre commentaire