Bludit CMS

Bludit CMS Workbench - Codeschnipsel, um das eigene Bludit CMS anzupassen



Smarty, Template mit Schleifen

Bauen Sie komplexe Schleifen in Smarty Templates auf die den Inhalt des Templates dynamisch erweitern können statt fester Strukturen.

Die bisherigen Codebeispiele zum Thema Templating mit der Smarty Engine zeigte eher statische Templates, also Strukturen die fest vorgegeben sind. Haben Sie aber ein Template das dynamisch auf den Inhalt reagieren soll, dann wird es schwieriger, Sie müssen zum Beispiel Schleifen im Template implementieren. Dazu folgendes Codebeispiel aus meinem Template:

071  {for $i=1 to {$max_beitrag} step 3}
072   <div class="row">
073      <div class="col-sm-4">{$beitrag{$i}}</div>
074      <div class="col-sm-4">{$beitrag{$i+1}}</div>
075      <div class="col-sm-4">{$beitrag{$i+2}}</div>
076    </div>
077  <br>
078 {/for}

Der Code oben stammt aus meinem Template home.php und baut alle 3 steps eine neue row (Class aus dem Bootstrap CSS die eine art Tabellen-Zeile erzeugt) auf, die dann aus drei Spalten besteht. Die Templatevariable $beitrag1, $beitrag2 und $beitrag3 wird durch den Schleifenzähler konkatiniert und enthält den Content der Spalte (Class col-sm aus dem Bootstrap erzeugt eine Spalte innerhalb der row).

Dem Template wird mit der Variable $max_beitrag aus der Steuerung index.php übermittelt, wie viele Beiträge überhaupt existieren, zum Beispiel 9. Folglich baut diese Schleife 3 Zeilen zu je 3 Spalten im Zeitungslook auf der Webseite auf.

Bildschirmfoto meines Templates das dynamisch mit for-Schleife erweitert wird

Auf meiner (anderen) Webseite erzeug dieser Code das oben gezeigte Layout aus verschiedenen Textdateien die im Verzeichnis texte liegen. Würde ich mehr Textdateien im Verzeichnis texte anlegen, dann würde der Code in index.php dies bemerken und die Information ($max_beitrag) an das Template übergeben. Das Template erweitert sich daraufhin selbstständig durch die Schleifenstruktur weiter nach unten, so lange auch Textbausteine vorhanden sind.

Anmerkung: Die Anzahl der Beiträge muss folglich ein Vielfaches von 3 sein, um in jeder Zeile drei Spalten zu füllen. Fehlt der Inhalt einer Spalte, erscheint eine Fehlermeldung.




Empfehlungen


Eigenes Bludit Theme

So steuern Sie die Templatevorgabe in Beiträgen mit dem CMS Bludit. Sie können den Tamplatenamen bei der Erstellung von Beiträgen angeben.




Es wurden noch keine Kommentare verfasst, sei der erste!

About

Tipps. Tricks, Snippets, Hacks und Codings zum CMS Bludit, Automad, WordPress, Joomla, GetSimple, Typesetter, Nibbleblog oder den angesagten Template Engines wie Smarty.


Impressum - Datenschutz - Copyright - RSS - Kontakt

Leser heute

2278