Um die Einstellungen des CMS aus der Datenbank zu lesen brauchen wird wieder ein PHP-Script. Dieses befindet sich in der Datei settings.php (Verzeichnis system). Dort gibt es eine Funktion die getSetting heißt. Mit dieser kann man nachher im ganzen Projekt die Einstellungen laden.
Hier ist der Quellcode:
<?PHP function getSetting($property){ global $dbpraefix; $res = mysql_query("SELECT value FROM ".$dbpraefix."settings WHERE property = '".$property."'"); $row = mysql_fetch_row($res); return $row[0]; } ?>
Als Übergabe Parameter wird der jeweilige Name der Eigenschaft übergeben. Mit global können wir über die Präfix-Variable aus der Datei dbsettings.php zugreifen. Ohne ist dies nicht möglich, da wir uns in einer Funktion befinden.
Dann holen wir und mit mysql_query und mysql_fetch_row das jeweilige Ergebnis. Dort wird dann über return die erste (und einzige) Spalte zurückgegeben. Wenn nichts gefunden wurde, wird dort einfach ein false übergeben, darum müssen wir uns nicht kümmern.
So, nun müssen wir das ganze noch Testen. Dafür muss als erstes ein Datensatz in die Tabelle settings. Ich habe hier den Titel des CMS genommen, da wir den nachher bestimmt noch brauchen werden. Hier ist ein Insert-Query:
INSERT INTO `cms_settings` ( `property` , `value` ) VALUES ( 'title', 'Test CMS' );
Zum Abschluss brauchen wir noch eine Test-Datei. Ich habe hier die Datei settings.test.php erstellt. Sie heißt so, damit wir sofort erkennen können was sie testen. Sie muss übrigens ebenfalls im Verzeichnis system liegen. Und so sieht die Datei von innen aus:
<?PHP include('dbconnect.php'); include('settings.php'); echo getSetting("title"); ?>
Wenn alles geklappt hat, sollte sie jetzt den eben eingetragenen Titel des CMS wiedergeben, bei mir gibt es jedenfalls “Test CMS” wieder.
Dies ist ein Beitrag aus der Aktion Code & Blog, in der hier ein eigenes CMS erstellt wird.






Bevor es zu Verwirrungen kommt: Es sollte in der Zeile “Dann holen wir uns mit…” nicht mysql_fetch_assoc, sondern mysql_fetch_row heißen.
Kommentar von Marko — 9. August 2009 @ 16:02
Hast Recht, werd ich ändern
Kommentar von Stefan Wienströer — 9. August 2009 @ 16:08
find das bisher gut
werde td mal weiter machen
Leider kann ich es nicht ausprobieren, da es Server Probs gibt -.-
(-> No suitable nodes are available to serve your request.)
Aber td gut
Kommentar von Froschkoenig — 18. Juli 2010 @ 19:29