Content-Templates

bertiSR

Mitglied
Hallo zusammen. Ich arbeite mal wieder an einem kleinen Projekt, das mir Kopfzerbrechen bereitet.

Ich will ein CMS erstellen, in dem man Inhalts-Templates verwenden kann. Im Detail soll das wie folgt realisiert werden:

Ich habe eine Datenbanktabelle in der ich die Inhalte speichere. Diese Tabelle soll ungefähr folgende Struktur haben.

id
template_id
content

So was id ist weiß jeder. In die Spalte template_id wird die id des Templates geschrieben das das aktuelle Element haben soll. Angenommen template_id ist 1 dann wird ihm folgendes Template zugewießen:
HTML:
<div class="template_1">
    <p>###TITLE###</p>
    <p>###TEXT###</p>
</div>

So bis hierhin gibts noch kein Problem. Die Elemente mit den Rauten (#) außenherum sollen Platzhalter darstellen. So und nun habe ich in meiner Tabelle in der ich die Inhalte speichere ja auch noch die Spalte content.
Hier sollen die Texte für die Platzhalter drinstehen. Also:

###TITLE### => Willkommen
###TEXT ### => kurzes Vorwort

Was ich da jetzt so mit => dargestellt habe kann ich natürlich nicht in die Spalte schreiben. Ich brauche also eine Struktur mit Namen des Platzhalters und dem dazugehörigen Replacement. Aber mir fällt einfach nicht ein, wie ich das machen soll!
 
Wie ich das ganze ersetzen lassen kann ist kein Problem. Ich verstehe nur nicht, wie ich den Code in der Spalte content formatieren sollte um eine möglichst leichte Verarbetung zu erreichen. Im Moment mache ich das so. Ein Beispielcode für die Spalte content:

Code:
title::Herzlich Willkommen|*|text:Ein kurzes Vorwort

Und in PHP mache ich es wie folgt:
PHP:
<?php

    $content = "title::Herzlich Willkommen|*|text:Ein kurzes Vorwort";
    $a = explode ("|*|", $content);
    foreach ($a as $key => $value) {
        $b = explode ("::", $a);
    }

?>

So bringe ich praktisch den Code aus der Spalte in eine Reihenfolge, mit der ich arbeiten kann. Aber das ist doch nicht unbedingt die beste Möglichkeit oder?
 
Zurück