Wie kann ich mich registrieren widget Vermögenswerte in Yii2?

Ich möchte erstellen Sie eine benutzerdefinierte widget in yii2 mit seinen css-und js-Dateien. Im inneren "Komponenten" - Ordner habe ich einen 'myWidget' Ordner und darin:
- myWidget.php die erstreckt yii\base\Widget.
- myWidgetAsset.php die erstreckt yii\web\AssetBundle.
- Ansichten-Ordner mit index.php Datei.
- assets-Ordner mit main.css und main.js -Dateien.

Hier sind die codes: myWidget.php

namespace app\components\myWidget;

use app\components\tablaFoS\tablaFoSAsset;
use app\models\DisciplinesGrandesAreas;
use yii\base\Widget;

class myWidget extends Widget {

   public function run() {
    parent::run();

    return $this->render('index');
   }
}

myWidgetAsset.php

namespace app\components\myWidget;

use yii\web\AssetBundle;

class myWidgetAsset extends AssetBundle {

    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = ['assets/main.css'];
    public $js = ['assets/main.js'];
    public $depends = [
    ];
}

Wenn ich den erzeugten code, den ich bekam:

<link rel="stylesheet" href="/assets/main.css"></link>
<script src="/assets/main.js"></script>

sondern so etwas wie e.g.bootstrap:

<link href="/becyt/assets/67099f30/css/bootstrap.css" rel="stylesheet">

Was mache ich falsch? Was bin ich? Vielen Dank im Voraus.

Sieht aus wie Sie sind nicht immer die Registrierung Ihres AssetBundle. Ich glaube, was Ihnen fehlt, ist myWidgetAsset::register($this->view); rufen Sie vor return $this->render('index'); Jedoch bin ich fest an diesem Thema, wo mein js-und css-assets sind nicht die Registrierung, also wenn es jemand anderes könnte, Glockenspiel, ich würde es wirklich schätzen zu können.

InformationsquelleAutor Teleuko | 2015-11-19

Schreibe einen Kommentar