2017-02-01 4 views
1

Einfache Frage habe ich nach der Arbeit mit AdminLTE Design. Es sind alle Assets (CSS) mit AdminLTE.min.css endet, bedeutet dies, dass auch select2.css erste ...Yii2, Vermögenswerte. Base css am Ende

<link rel="stylesheet" href="../../plugins/select2/select2.min.css"> 
<link rel="stylesheet" href="../../dist/css/AdminLTE.min.css"> 
<link rel="stylesheet" href="../../dist/css/skins/_all-skins.min.css"> 

Sie falsch gemacht haben, weil jetzt alle Daten in umgeschriebenen \ schwebte von AdminLTE.min geht .css, ja, es ist ein einfacher Weg für HTML-Code, aber nicht für Entwickler. Also, Frage ...

Wir brauchen Register Bundle mit CSS auf jeder Seite immer als "zuletzt", so dass es zuletzt gerendert wurde (zum Beispiel nach Kartik select2 Asset oder ein anderes Bündel verwenden wir irgendwo auf der Seite \ code). Irgendeine Lösung dafür?

Danke ...

ZUSÄTZLICH: Wir haben css \ html \ js AdminLTE und Select2 Bundle aus kartik, so jetzt Lösung für diese Ich suche. Wie Sie sehen können, ist select2 css vor Haupt-CSS geladen (AdminLTE.min.css). Also möchte ich kartik Select2 Bundle verwenden, aber nur dort, wo es gebraucht wird, und natürlich nicht auf jede Seite laden - nur dort, wo es gebraucht wird. Ich weiß, wie Asset :: register ($ this) funktioniert, und kenne seine Parameter ... Aber vielleicht vermisse ich etwas, kann es überhaupt Yii2?

+0

AdminLTE Arten Select2 benötigt wird, so dass es nach hinzugefügt werden soll. Ist dieser Knüppel, den du zuletzt registrieren musst, dein? – Bizley

Antwort

-1

Für Dies erstellen Sie eine separate Asset-Datei im Asset-Ordner, in der nur select2-Assets vorhanden sind. Zum Beispiel:

class SelectAsset extends AssetBundle 
    { 
     public $basePath = '@webroot'; 
     public $baseUrl = '@web'; 
     public $css = [ 
      'path/to/select2.min.cs', 
     ]; 
     public $js = [ 
     ]; 
    } 

Dann dieses Asset-Registerdatei Ony zu sehen, wo es

use namespaceTo\SelectAsset; 
SelectAsset::register($this); // $this represents the view object