web-dev-qa-db-ja.com

Yii2 BootstrapAssetがbootstrap.jsをロードしていません

yii\bootstrap\BootstrapAssetはロードされていませんbootstrap.js、および「モーダル」などの要素は機能しません。

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',
    ];    
}

ここ はライブラリの画面、bootstrap.jsがありません。

26
ccdiego5

あなたはそれを試すことができます:

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',
];
}
18
mzk10k

BootstrapAssetバンドルのコンテンツを見ると、bootstrap.jsがないことがわかります。

class BootstrapAsset extends AssetBundle
{
    public $sourcePath = '@bower/bootstrap/dist';
    public $css = [
        'css/bootstrap.css',
    ];
}

bootstrap.jsには別のアセットバンドルが存在し、BootstrapPluginAssetと呼ばれます:

class BootstrapPluginAsset extends AssetBundle
{
    public $sourcePath = '@bower/bootstrap/dist';
    public $js = [
        'js/bootstrap.js',
    ];
    public $depends = [
        'yii\web\JqueryAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

名前空間を含む完全なクラス名はyii\bootstrap\BootstrapPluginAssetです。

Js dependent bootstrap yii\bootstrap\Modalなどのウィジェットを使用すると自動的に含まれます。

29
arogachev

依存関係を追加するとき

 public $depends = [
        'yii\bootstrap\BootstrapAsset',
    ];

その唯一の追加bootstrap css

あなたが追加しながら

 public $depends = [
     'yii\bootstrap\BootstrapPluginAsset',
    ];

add bootstrap cssおよびjs

8
Kalpesh Desai

これはメインの構成ファイル(config/web.php):

'components' => [
    'assetManager' => [
        'bundles' => [
            'yii\bootstrap\BootstrapAsset' => [
                'js' => ['js/bootstrap.js'],
            ],
        ],
    ],
],
1
Roman Grinyov

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',
];
}

また、config/main.phpを変更します

'components' => [
'assetManager' => [
    'bundles' => [
        'yii\bootstrap\BootstrapAsset' => [
            'js' => ['js/bootstrap.min.js'],
        ],
    ],
],
],

あなたのコメントのためにすべてに私の問題thatsを解決するこれらのステップを試しました

0
Shamsi786