Css In Yii Einfügen

Hallo zusammen :)

Weiß einer wie ich meinen geschriebenen CSS-Code für die HTML-Datei in Yii zum Laufen bekomme? Vorher ging alles aber seitdem die CSS- und die HTML-Datei im Yii Ordner sind, kann ich die Bilder nicht mehr sehen und Änderungen werden nicht übernommen.

Danke an Alle die Antworten. :)

Hallo, yii-nici

Du solltest CAssetManager benutzen, um die Datei aus protected Ordner im Web verfügbar machen.

Zum Beispiel du hast ein Extension ‘my-widget’ und willst ein CSS File in der Seite einbauen. Das File befindet hier: ‘protected/extensions/my-widget/assets/css/my.css’

Hier ist der notwendige Code:




// erste Argument - Ein Pfad, wo deine CSS Datai ist

// zweite und dritte sind als defaults geblieben

// letzte argument forciert eine Aktualisierung von assets (sehr nutzlich während der Entwicklung, deshalb benutzt man diese Einstellung in debug mode)

$assetsUrl = Yii::app()->assetManager->publish(Yii::getPathOfAlias('application.extensions.my-widget.assets'), false, -1, YII_DEBUG);


// $assetsUrl enthält ein Url, wo deine Datei verfügbar ist. Jetzt sollten wir es in HTML Seite einbauen

Yii::app()->clientScript->registerCssFile($assetsUrl . '/css/my.css');



Mehr über Assets findest du hier: http://www.yiiframework.com/wiki/148/understanding-assets

Die Info über CAssetManager::publish(): http://www.yiiframework.com/doc/api/1.1/CAssetManager#publish-detail

Nützliches über CClientScript:

Wiki: http://www.yiiframework.com/wiki/572/how-to-include-javascript-css/

Für File:

js: http://www.yiiframework.com/doc/api/1.1/CClientScript#registerScriptFile-detail

css: http://www.yiiframework.com/doc/api/1.1/CClientScript#registerCssFile-detail

Plain code:

js: http://www.yiiframework.com/doc/api/1.1/CClientScript#registerScript-detail

css: http://www.yiiframework.com/doc/api/1.1/CClientScript#registerCss-detail

Note: du solltest nur relative Bilder-Url in deine CSS File verwenden.

Danke für deine Antwort :)

Ich benutze generell nur relative Pfade, weil das alles lokal ist.

Ich erkläre vielleicht kurz nochmal meine Aufgabe:

Ich soll eine VM zum Laufen bringen in der Vagrant läuft und mein Git-Repository muss dort rein. (Das ist schon erledigt) Danach muss ich dort eine Web-App entwickeln, lokal, bei der ich ein Framework meiner Wahl (Yii) benutzen und eine flickr-API einbinden muss.

Hört sich vielleicht nicht so schwer an aber ich kann nicht gut programmieren…

Ich habe vorher den groben Seitenaufbau und die Gestaltung mit HTML und CSS gemacht. Nachdem ich es dann in das Yii Verzeichnis verschoben habe ging es, wie oben beschrieben, nicht mehr. Ich habe auf der englischen Forumsseite einen Tipp bekommen. Mittlerweile sieht es so aus:

5898

html_php_code.png

Jedoch sehe ich jetzt garnichts mehr. Vorher war wenigstens der Schriftzug noch da…

Ich guck mir deine Seiten mal an. Hoffentlich helfen die mir :)