2016-07-25 4 views
0

Nun, ich bin nicht vertraut mit Yii2 Asset-Bundles. Das Asset-Bündel Yii2 registriert CSS-Dateien oben auf der Seite und js-Dateien unten auf der Seite. Aber wie kann ich diese js-Dateien auch oben auf der Seite einfügen?Wie kann ich jQuery-Assets im head-Tag registrieren?

class AppAsset extends \yii\web\AssetBundle 
{ 
    public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $depends = [ 
     'yii\web\YiiAsset', 
     'yii\bootstrap\BootstrapAsset', 
    ]; 
} 

Ich brauche nur alle js und CSS-Datei am oberen Rand der Seite registriert werden. Mit AppAsset, ist es möglich?

EDIT

Standard registriert Skripte

<head> 
.... 
<link href="/assets/4850c11c/css/bootstrap.css" rel="stylesheet"> 
.... 
</head> 
<body> 
..... 
<script src="/assets/76016e7c/jquery.js"></script> 
..... 
</body> 

Ich brauche nur

<head> 
.... 
<link href="/assets/4850c11c/css/bootstrap.css" rel="stylesheet"> 
<script src="/assets/76016e7c/jquery.js"></script> 
.... 
</head> 

Antwort

3

Fügen Sie einfach eine Zeile in die Bündel-Klasse.

public $jsOptions = ['position' => \yii\web\View::POS_HEAD]; 

Ihr Code wird wie diese dann aussehen:

class AppAsset extends \yii\web\AssetBundle 
{ 
    public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $jsOptions = ['position' => \yii\web\View::POS_HEAD]; 

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

    public $js = [ 
     'somefile.js' 
    ]; 
} 
3

Um eine JavaScript-Datei im Kopfteil einer Seite (standardmäßig enthalten, JavaScript-Dateien sind am Ende des Rumpfabschnitts enthalten), verwenden Sie die folgende Option:

public $jsOptions = ['position' => \yii\web\View::POS_HEAD]; 

oder direkt im Blick

$this->registerJs('js/myjsfile.js', $this::POS_HEAD); 

können Sie http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html

http://www.yiiframework.com/doc-2.0/guide-structure-assets.html

+0

Seine AppAsset Datei benötigen auch einige Verbesserungen wie js und CSS sind auch in AppAsset. –

+0

Er kann Ref direkt zu den Dateien im Kopfbereich hinzufügen oder (wie Yii2 vorgeschlagen) das gewünschte Asset in einem geeigneten Asset hinzufügen .. .PS. Das Asset in der OP-Frage sind die Standard-Yii2-Assets und werden standardmäßig in der normalen yii2-App geladen – scaisEdge

Verwandte Themen