2015-10-14 9 views
5

Ecco il mio codice di asset ..YII2 chiamata codice jQuery-ui prima bootstrap.js

public $js = [ 
    'js/jquery-ui.min.js', 
    'js/app.min.js', 

]; 

ho alcuni widget utilizzati nel file vista ... e qui sono l'ordine dei file js. Quello che voglio è chiamare jquery-ui.js prima di bootstrap.js .. Come farlo ??

enter image description here

risposta

3

Posizionamento jQuery UI dopo Bootstrap non senso dato che non dipendono reciprocamente affatto. Ma per includere il bundle prima di un altro, è necessario aggiungere dipendenza al pacchetto correlato.

per il fascio di risorsa personalizzata si può semplicemente scrivere questo:

$depends = [ 
    // Write classes of dependent asset bundles here, for example: 
    'yii\jui\JuiAsset', 
]; 

Ma a causa Bootstrap è integrato bene, non è possibile modificarlo in questo modo. Invece è possibile impostare a livello globale attraverso config di Asset Manager:

return [ 
    // ... 
    'components' => [ 
     'assetManager' => [ 
      'bundles' => [ 
       'yii\bootstrap\BootstrapAsset' => [ 
        'depends' => [     
         'yii\jui\JuiAsset', 
        ]; 
       ], 
      ], 
     ], 
    ], 
]; 

O semplicemente impostare la dipendenza in un luogo specifico prima vista di rendering:

Yii::$app->assetManager->bundles['yii\bootstrap\BootstrapAsset'] = [ 
    'depends' => [     
     'yii\jui\JuiAsset', 
    ]; 
], 

documentazione ufficiale: