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 Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie registrieren Sie Ihr AssetBundle in die widget -
init()
Funktion wie diese:InformationsquelleAutor Jelmer Keij
Veröffentlichen Sie Ihre asset-Dateien, sollten Sie
sourcePath
stattbasePath
undbaseUrl
, z.B. :Lesen Sie mehr in der offiziellen Anleitung hier :
Und natürlich nicht zu vergessen, sich zu registrieren dieser asset-bundle in Ihrem widget
run()
Methode.InformationsquelleAutor soju
Können Sie sich auch registrieren widgets assets wie
InformationsquelleAutor veyselsahin