Untenstehend sehen Sie den Containeraufruf des CP::Forms-Modules "forms_test". Mit diesem Aufruf werden die ersten 10 Einträge des Modules über die Vorlage "/modules/forms_test/templates/list_public.html" angezeigt, wobei der Containeraufruf selbst von einer Tabelle umgeben wird, so dass jeder Eintrag eine Zeile dieser Tabelle bildet:
<table border="0" cellspacing="2" cellpadding="3" width="400">
{cp:container module="forms_test" type="list" limit="10" template="modules/forms_test/templates/list_public.html"}
</table>
Um nun in der Vorlage "/modules/forms_test/templates/list_public.html" abwechselnd eine andere Hintergrundfarbe anzuzeigen, muss innerhalb der Vorlage mitgezählt werden. D.h. die Vorlage muss wissen, ob ein Eintrag an erster oder an zweiter Stelle steht. Dies kann in PHP am besten über eine globale Variable realisiert werden.
Der HTML-/PHP-Code für die Vorlage in diesem Beispiel sieht folgendermaßen aus:
<?php
$GLOBALS["{cp:forms:options:module}_list_cnt"]++;
if ($GLOBALS["{cp:forms:options:module}_list_cnt"] == "2") {
$this_background = "#FFFFFF";
$GLOBALS["{cp:forms:options:module}_list_cnt"] = "0";
} else {
$this_background = "#EDF3FE";
}
?>
<tr>
<td valign="top" style="background: <?php echo $this_background; ?>"><img src="square.gif" border="0" alt="" /> {cp:forms:values:title}</td>
</tr>
Der Name der globalen Variablen setzt sich hier aus dem Modulnamen und dem Suffix "_list_cnt" zusammen. So ist sichergestellt, dass es keine andere im System genutzte Variable mit diesem Namen gibt. Die Variable wird immer bis 2 hochgezählt und dann auf 0 zurückgesetzt. Für beide Zustände ("1" und "2") wird jeweils eine Hintergrundfarbe in der Variablen "$this_background" vergeben, welche anschließend innerhalb der Tabellenzelle eingesetzt wird.
Zusammen mit einer Grafik sieht dies wie folgt aus:
Natürlich kann die für die Darstellung genutzte Vorlage einen beliebigen Umfang besitzen. Dies ist also nicht auf eine simple Listenform mit nur jeweils einer Überschrift beschränkt. Und wenn die globale Variable nicht zurückgesetzt wird, dann kann man mit dieser auch eine Auflistung durchnummerieren:
<tr>
<td valign="top" style="background: #EDF3FE"><?php $GLOBALS["{cp:forms:options:module}_list_cnt"]++; echo $GLOBALS["{cp:forms:options:module}_list_cnt"]; ?>. {cp:forms:values:title}</td>
</tr>