Eine andere Möglichkeit, zum selben Ergebnis zu kommen, besteht darin, das Template in zwei Teile aufzuteilen: einen für das Hauptformular und einen für das Element, das sich wiederholt. Dies ist eine etwas elegantere Alternative zum obigen Beispiel. Hier die zwei Templates:
form.tmpl
und option.tmpl
In diesem Fall muss man die Optionenliste zuerst durch wiederholtes Aufrufen der Methode parse() aus dem Template option.tmpl erzeugen und die Ausgabe jedes Durchgangs an die Ausgabe des vorigen Durchgangs anhängen. Dieselbe Technik kam bereits im ersten Teil dieses Artikels zum Einsatz. Sobald die Optionenliste erzeugt ist, braucht man nur noch das äußere Template zu parsen und die Optionenliste der Variablen $OPTIONS$ zuweisen wie in Listing D.
Beispielanwendung: Verwenden von Dtemplate mit MySQL
Dieses Beispiel zeigt, wie man für dynamische Seiten-Erstellung das Dtemplate-System mit einer MySQL-Datenbank verknüpft. Hier wird von einer vorhandenen MySQL-Tabelle mit Benutzerinformationen ausgegangen (Listing E).
Das Script muss zwei Seiten erstellen, die sich beide aus dieser Tabelle ableiten. Die erste Seite ist ein Index der Benutzernamen, der erstellt wird, wenn das Script ohne Argumente aufgerufen wird. Die zweite Seite enthält Details zu einem bestimmten Benutzer und erfordert, dass der Benutzername dem Script übergeben wird.
Beide Seiten lassen sich vom selben Script generieren, abhängig davon, ob dem Script ein Benutzername übergeben wird oder nicht. Der erste Schritt besteht darin, die Templates für die beiden Seiten zu erstellen. Zuerst die Index-Seite index.tmpl:
Und für einen einzelnen Listeneintrag li.tmpl:
Und hier das Template für die Seite mit den Benutzerdetails detail.tmpl:
Das Script, welches die eigentliche Arbeit erledigt, findet sich in Listing F. Es setzt neben dem Dtemplate-Modul zwei der leistungsfähigsten Module von Perl ein: CGI.pm und DBI.pm.
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.
Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.
Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…
Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…