CakePHP & DIEVOLUTION Blog
YAML und CakePHP
Auf vielfachen Wunsch ein kleiner Beitrag, wie man YAML und CakePHP zusammenbringt. Leider reicht es nicht aus, einfach den YAML Ordner in den CSS Ordner von CakePHP zu packen, aber es ist zum Glück auch nicht viel komplizierter.
Zunächst lädt man sich das YAML Paket runter und extrahiert es in einen beliebigen Ordner. Man nimmt nun den Inhalt des yaml-Unterordners (in dem sich central_draft.css usw. befinden) und kopiert die Inhalte in den CSS Ordner von CakePHP. Im CSS Ordner sollten sich nun ein central_draft.css, markup_draft.html sowie die Ordner core, debug, navigation, patches, print und screen befinden.
Nun empfehle ich, den YAML Builder zu benutzen, um sich sein Grundlayout zu basteln. Denn dadurch wird extrem viel Arbeit an YAML selbst schon vom Builder erledigt.
Ist man mit dem Layout zufrieden, kopiert man sich die vom Builder angelegte basemod.css in app/webroot/css/screen sowie das IE-Patchfile in app/webroot/css/patches/patch_layout.css.
Nun kopiert man sich das XHTML File vom Builder entsprechend seinen Wünschen in das Cake Projekt. Ich arbeite hier bei neuen Projekten erst mit der Datei views/layouts/default.ctp und kopiere die Inhalte, die nachher durch $content_for_layout eingesetzt werden in /views/pages/home.ctp. So kann man sich erstmal in Ruhe um das Layout kümmern und gerät nicht gleich durch die vielen Divs in Schwierigkeiten.
Bindet nun in den Layoutheader folgendes ein:
app/views/layouts/default.ctp
Praktisch ersetze ich hier die CSS Vorgaben vom Builder durch den Cake-Weg. Nun ist es fast geschafft.
Es müssen allerdings an den CSS Dateien selbst noch ein paar Änderungen vorgenommen werden.
Meine /webroot/css/central_draft.css sieht nun folgendermaßen aus:
-
@charset "UTF-8";
-
/* import core styles | Basis-Stylesheets einbinden */
-
@import url(core/base.css);
-
-
/* import screen layout | Screen-Layout einbinden */
-
@import url(navigation/nav_shinybuttons.css);
-
@import url(screen/basemod.css);
-
@import url(screen/content_default.css);
-
Durch diese Pfadanpassung sollten die CSS Dateien nun korrekt geladen werden.
Noch ein Wort zu Hintergrundbildern: Da die Pfadstruktur bestehen bleibt, müsst ihr die Bilder im webroot/img Ordner relativ zur ausgewählen CSS Datei referenzieren. Ein Beispiel:
Ich habe einen Hintergrund in webroot/img namens background.gif. Wenn ich nun in der basemod.css (der Screen-Layoutdatei von YAML) dieses Bild angeben will, ist folgender Aufruf nötig:
app/webroot/css/screen/basemod.css
-
#main {
-
background-image: url(‘../../img/background.gif’);
-
}
Ich hoffe, diese Denkanstöße zum Thema YAML in CakePHP helfen euch weiter, eure Seiten weiter zu verbessern.
Veröffentlicht am Montag, den 14. Januar 2008 um 12:21 Uhr veröffentlicht
Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
Eine Reaktion zu “YAML und CakePHP”
-
Am 24. Januar 2008 um 15:27 Uhr
Das werde ich noch ausprobieren danke!
Auf einen Blick
Archiv
- November 2008
- Oktober 2008
- August 2008
- Juli 2008
- Juni 2008
- Mai 2008
- April 2008
- März 2008
- Februar 2008
- Januar 2008
- Dezember 2007
- November 2007
- Oktober 2007
- September 2007
- August 2007
- Juli 2007
- Juni 2007
- Mai 2007
- April 2007
Kategorien
- Allgemein (72)
- Cake vs Rails (3)
- CakePHP (42)
- Meinung (16)
- Projekt (6)
- Rails (6)
- Tipps (28)
- Typo3 (4)
Letzte Einträge:
- 11.04.2007: Neustart
- 11.04.2007: Design Version 1 steht
- 11.04.2007: Blog