Ein eigenes CMS programmieren II.
In der zweiten Hälfte des Workshops, geht es darum, das kleine CMS noch weiter auszubauen und vollwertig zu machen. Sie binden die Template-Engine Smarty ein.
Programmieren Sie Ihr eigenes CMS II.
Schön das Sie auch im Teil 2 des Workshops dabei sind und ein eigenes Content Management System entwickeln möchten, denn ab jetzt beginnt der spannende Teil der Reise. Sie werden die kostenlose Template-Engine Smarty in das Basic-CMS einhängen und dem bislang recht einfachen CMS einen gewaltigen Schub geben, denn mit Smarty ändert sich einiges. Das bisherige recht statische Templating wird mit der Template-Engine plötzlich sehr lebendig und flexibel.
Was ist die Template-Engine Smarty?
Smarty ist eine so genannte Template-Engine, dabei handelt es sich um eine PHP-Programmsammlung aus nützlichen Bibliotheken, um HTML-Templates auf Ihrer Webseite verarbeiten zu können. Mit solchen, auch Template-Parser genannten Programmen, können Sie Artikel Texte automatisiert in eine HTML-Vorlage einsetzen. In diesen HTML-Vorlagen, genannt Templates, erzeugen Sie zunächst ein ganz traditionelles HTML-Dokument, lassen jedoch alle Texte, Titel, Bilder o.ä. weg, stattdessen setzen Sie an die freien Stellen so genannte Template-Tokens, etwa so:
...
<h1>Das ist eine traditionelle Überschrift</h1>
<p>Sie sollten unbedingt diesen spannenden Artikel nicht verpassen</p>
<p>Und hier folgt der Artikel der Webseite....</p>
<hr>
<p>Autor: Oliver Lohse</p>
...
So sieht ein traditionelles HTML-Dokument aus
...
<h1> {$title} </h1>
<p> {$description} </p>
<p> {$content} </p>
<hr>
<p> Autor: {$author} </p>
...
Das gleiche Dokument, jedoch als Smarty HTML-Template mit Template-Tokens
Die Smarty HTML-Vorlage kann jetzt vom System unendlich oft verwendet werden, um beispielsweise Beiträge im Browser mit genau dieser Schablone anzuzeigen.
Wiederverwendbarkeit von Templates
Es liegt also offensichtlich auf der Hand, das Smarty-Templates in Ihrem eigenen CMS mehrfach verwendet werden können, das spart Ihnen viel Zeit, denn Sie müssen die Seite nur einmalig erzeugen und die Template-Engine Smarty füllt sie für jeden Ihrer vielen Beiträge automatisch mit den definierten Inhalten aus und zeigt die Seite im Browser des Lesers an.
Template-Engine Smarty einbinden
Die Template-Engine Smarty sollten Sie also für dieses Projekt über die folgenden Links herunterladen. Alternativ ist sie natürlich im fertigen Coding des Downloads ebenfalls fix und fertig eingerichtet.
Die Template-Engine wird dann in das CMS eingebunden. Wie das geht, zeigen die folgenden Artikel des Workshops, bzw. die Anleitung der Basis-Installation auf der Projektseite von Smarty:
Download des vollständigen Source-Codes
Das aktuelle und vollständige Content Management System aus dem Workshop des Teil II, steht über den folgenden Link als ZIP-Download bereit:
Den Source-Code können Sie nach herzenslust anpassen, verändern, verbessern und veröffentlichen - allerdings wäre ein Verweis auf CMSWorkbench nett (Netiquette).
Basic CMS mit Smarty
Anmerkungen zum Programm-Style
Der verwendete Programmstyle ist sehr diskret gehalten, daher werden zum besseren Verständnis teils sehr geschwätzige PHP-Befehle verwendet. Der Befehlsumfang der Sprache PHP bietet natürlich weitaus elegantere und effizientere Funktionen an, aber es schien wichtiger, das dem Einsteiger und Neuling die Abläufe in der Verarbeitung durch klare und einfache Befehle transparent werden.
Beispielsweise ist die Nutzung des Array-Befhels extract()
super elegant, jedoch kann der Einsteiger nur schwer erkennen was dieser Befhel im Arbeitsspeicher tut, daher sind traditionelle Array-Operationen besser geeignet. Der erfahrene Entwickler kann dies natürlich gerne anpassen.
Ebenfalls sollte beachtet werden, das viele Objekt-Attribute als public
definiert wurden, um so mögliche Fehlerquellen im Prototyp zu minimieren. Aus Sicherheitsgründen können diese später selbstverständlich auf private
geändert werden, damit ein gesicherter Zugriff über Objekt-Methoden erfolgt (Getter und Setter).