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.

Inhalt

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.

Download Smarty

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:

Smarty Basis-Installation

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:

Download: Basic CMS + Smarty

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 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).


0

Affiliate React: Das umfassende Handbuch für moderne Frontend-Entwicklung. Mit vielen Praxisbeispielen

React: Das umfassende Handbuch für moderne Frontend-Entwicklung. Mit vielen Praxisbeispielen - Welcher Frontendentwickler hat noch nicht von React gehört? Diese ursprünglich von Facebook entwickelte JavaScript-Bibliothek hat innerhalb kurzer Zeit eine steile Karriere hingelegt. Sie bildet mittlerweile eine wichtige Grundlage für viele Unternehmensanwendungen, Single Page-Applikationen, sowie viele Apps für iPhone und Android. Erfahren Sie in diesem umfassenden Handbuch des JavaScipt-Experten Sebastian Springer, wie Sie performante Oberflächen gestalten. Mit einfachen und leicht verständlichen Beispielen erlernen Sie die Grundlagen von React, React Native und Redux. Und auch als fortgeschrittener JavaScript-Entwickler profitieren Sie von den vielen Profithemen wie Tests, Animationen, Material Design Components, Server Side Renderung über Debugging bis hin zur Entwicklung von vollständigen mobilen Anwendungen. Dieses Buch ist ein Muss für jeden JavaScript-Entwickler und für jeden, der React lernen möchte!

Wir können mit so genannten Affiliate-Links den Betrieb der Webseite etwas unterstützen, für Sie als Leser ist das natürlich vollkommen kostenlos.