Templates, Datenbank, Flexibilität

A

andyK

Hallo,

ich hab meine Seite mit Templates aufgebaut und im Admin-Bereich
die Möglichkeit, zwischen verschiedenen Designs zu wechseln.

Als Beispiel die Navigation.
In der Datenbank stehen jetzt der Menüname, die Datei, zu der gelinkt
werden soll und die Position, ob in einer Box oder in der Leiste.

Diese Navigation wird mit einer Schleife aufgebaut.
Das Template dazu besteht nur aus einem

<tr><td><a href={link}>{menuname}</a></td></tr>

Dieses Template wird dann x-Mal in ein anderes Template reingeladen.

Was ist aber nun, wenn ich die Navigation nicht so wie oben aufbauen
möchte, sondern mit Grafiken? Und in einem anderen Design wieder mit
anderen Grafiken?

Wie speicher ich diese Daten in die Datenbank, so dass

Design 1 (keine Grafiken) nur Text anzeigt
Design 2 (Grafiken 1) diese anzeigt
Design 3 (Grafiken 2) jene anzeigt?

Muss ich da bei irgendwas abstriche machen, was zum Beispiel die
Flexibilität meines Menüs angeht (kann über Admin Position, Link und Name
wählen, sowie hinzufügen neuer und löschen bestehender Links)

oder muss ich bei den Designs halt festlegen, dass keine Grafiken verwendet
werden?

Ich will nämlich nicht unbedingt nur die CSS-typischen Dinge mit den Designs
verändern.
Ich will da total flexibel sein können.

Geht das?
 
Vielleicht wäre die Verwendung einer TemplateEngine, die selbst den Aufbau erledigt, ne Lösung. Ich arbeite z.B. mit Smarty. Dort kann ich direkt im Template IF Abfragen und Schleifen basteln. Ich übergebe dem Template nur noch ein Objekt oder ein Array mit dem Aufbau der Navigation. Was es damit macht und wie es aussieht übernimmt vollständig das Template.

Link: http://smarty.php.net
 
Zurück