Teil 5 Templates anlegen


Wie gehts mit dem eigenen CMS weiter? Was kann verbessert werden und welche Ausbauoptionen gibt es noch?

Default Template-Verzeichnis

Programmatisch sind nun alle Arbeiten an Ihrem eigenen Content Management System erledigt, jetzt kommt das Templating. Die Template-Engine Smarty erwartet die Existenz des Template-Verzeichnis /templates im Wurzelverzeichnis, dort sollten alle Templates abgelegt werden. Die Lage des Ordners kann aber gerne umdefiniert werden. Wie das geht, können Sie hier nachlesen:

Smarty Konfiguration

Ein Template entsteht

Im fünften Teil des zweiten Workshops beginnt der kreative Teil der Entwicklung, die Erstellung neuer HTML-Templates. Die Template-Engine Smarty arbeitet mit ähnlichen Template-Tokens, wie sie bereits im Teil 1 verwendet wurden, sie werden jedoch um das $ Dollarzeichen erweitert und sehen so aus: {$...}.

{include file="head.html"}

    <div class="container-fluid py-4 bg-light shadow">
        <div class="container">
            <div class="row">
                <div class="col-sm-3">
                    <div class="text-center"><a href="/"><img src="{$logo}" class="img-fluid"></a></div>
                </div>
                <div class="col-sm-9 my-auto">
                    <h1> {$title} </h1>
                    <p class="lead"> {$description} </p>
                </div>
            </div>
        </div>
    </div>

    <div class="container py-5">
        <div class="row">
            <div class="col-sm-3">
                {include file="navigation.html"}
            </div>
            <div class="col-sm-9">
                {$content}
                <p class="small opacity-50">
                    {$content|count_characters} Zeichen in 
                    {$content|count_sentences} Sätzen
                </p>
            </div>
        </div>
    </div>

{include file="footer.html"}

Layouts einbinden

Ebenfalls neu ist jetzt die Möglichkeit, mehrfach benötigte Template-Elemente wie den Footer oder Head auszulagern und zur Laufzeit mit {include file="footer.html"} dynamisch einzuhängen - das ist super praktisch und war in der ersten Version des CMS noch nicht möglich.

Mit Hilfe des include können Sie komplexe Templates und Layouts in kleine übersichtliche Häppchen zerlegen, die Sie später für eine größere Komposition nutzen können, indem sie einfach an den passenden Stellen des Layouts eingehängt werden. Das Templating funktioniert nun fats wie ein Legobaukasten.


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

Oliver Lohse
2024-02-19
eigenes CMS entwickeln programmieren Templates
post
Kontakt@Oliver-Lohse.de

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.

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.