Gestern ging es um die Farben des Standard-Themes. Diese sollen nun in der settings-Tabelle gespeichert werden, so das der User diese Farben im Admin-Bereich verändern kann. Außerdem können so andere Skins auf diese Farben zurückgreifen.
Die Eigenschaften beginnen alle mit “skin”. Danach kommt die Position der Farbe. Bei unseren Farben sieht der Insert-String so aus:
INSERT INTO `cms_settings` ( `property` , `value` ) VALUES ( 'skinbgcolor', 'adadad' ), ( 'skinforecolor', '525252' ),( 'skinhighlight1', '7cad00' ), ( 'skinhighlight2', 'b3fa00' );
Der Zugriff auf die Farben erfolgt wieder über die Klasses sys. Sie benötig dazu folgende Funktion:
function getColor($id){ return "#".getSetting("skin".$id); }
Hier wird einfach die Position ($id) an die Funktion übergeben. Dann wird die Farbe mit der Präfix skin aus der Setting-Tabelle geladen. Mit einem # am Anfang wird das Ganze dann zurückgegeben.
Die Verwendung der Farben läuft zum Testen erst einmal direkt in der index.php des Skins (system/skins/default). Später soll diese in eine separate Datei kommen, um die Ladezeit zu verringern.
Das ist der neue Code der index.php. Hier werden einfach die Farben ins CSS reingeschrieben:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <?PHP sys::includeHeader(); ?> <style> body{ background-color: <?PHP echo sys::getColor("bgcolor"); ?>; color: <?PHP echo sys::getColor("forecolor"); ?>; } a{ color: <?PHP echo sys::getColor("highlight1"); ?>; } a:visted{ color: <?PHP echo sys::getColor("highlight2"); ?>; } </style> </head> <body> <div id="breadcrump"> <?PHP sys::displayBreadcrump(" -> ","breadcrump","bc"); ?> </div> <?PHP sys::includeContent(); sys::displayGlobalMenu("<ul>","</ul>","<li>","</li>","globalmenu"); sys::displayLocalMenu("<ul>","</ul>","<li>","</li>","localmenu"); ?> </body> </html>
Das Design sieht zwar jetzt noch nicht wirklich schön aus, aber die Farben sind schonmal zu sehen. Schaut’s euch an: (Seite kann sich in der Zwischenzeit geändert haben)
http://cms.stevieswebsite.de/testseite.htm
Dies ist ein Beitrag aus der Aktion Code & Blog, in der hier ein eigenes CMS erstellt wird.





Hallo,
erstmal ein Riesen Lob an dein Tutorial, auf sowas hab ich schon länger gewartet.
Jetzt zu meinem anliegen:
Du hast ja deine Style in das Template Dynamisch Reingepackt so das deine Skin datei schnell sehr Groß sein könnte.
http://www.webmasterpro.de/coding/article/php-in-css-dss-dynamic-style-sheet.html
Unter diesem Link findet man eine Möglichkeit eine Dynamische CSS Datei zu erzeugen und sie dann zu Importieren. Könnte auch sein das ich du das in einem Weiteren Tutorial beseitigt oder anderes gelöst hast, aber ich bin erst bei diesem Punkt und das ist mir aufgefallen.
Schöne Grüße
Kommentar von Ferid — 23. März 2010 @ 17:04
Hi,
erstmal willkommen im Tutorial.
In einem späteren Beitrag haben wir die CSS-Sachen auch schon ausgelagert.
Allerdings ist es bei uns noch nicht so schön aufgeteilt. Werd mir das mal im Hinterkopf behalten.
Kommentar von Stefan Wienströer — 23. März 2010 @ 18:34