Schleifen mit Smarty

Bauen Sie komplexe Schleifen in Smarty Templates auf die den Inhalt des Templates dynamisch prüfen.

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.

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.

JavaScript - Ein umfassender Einstieg in JavaScript, viele praktische Beispiele und eine Darstellung auch professioneller Techniken – all das zeichnet dieses unverzichtbare Handbuch aus. Es eignet sich sowohl für Anfänger, die JavaScript von Grund auf lernen, als auch für Fortgeschrittene und Profis, die wissen wollen, wie man moderne, dynamische Webanwendungen entwickelt. Hier finden Sie alle wichtigen Techniken - Ajax, jQuery, Node.js, DOM und mehr. Entdecken Sie die neuesten Trends, Techniken und Entwicklungen bis hin zur Steuerung von Microcontrollern. Machen Sie sich mit Objektorientierung, ECMAScript 6 und funktionaler Programmierung vertraut und profitieren Sie von zahlreichen praxisnahen Beispielen für den sofortigen Einsatz. Das perfekte Lehrbuch für moderne Webentwickler!

Über Amazon unterstützen

lesen...

© CMSWorkbench.de

schleife loop php

about me

About me

Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Programmier-Sprachen und 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 24 Jahren arbeite ich als Entwickler in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen und seit etwa 37 Jahren im EDV-Sektor mit wechselnden Aufgaben.