Met de lijst-variabele kan een redacteur de keus maken uit een (onbeperkt) aantal mogelijkheden (in tegenstelling tot 1 keus bij de bool-variabele.) In plaats van het type aan te geven tussen de haakjes achter de variabele-naam wordt de lijst van mogelijke keuzes opgegeven, gescheiden door een |.
Algemene voorbeelden:
Keuze:tmplMijnVar(Keuze 1|Keuze 2|Keuze 3|Keuze 4) Tonen:tmplTonen(Ja|Nee) Kleur:tmplColor(Rood=red|Blauw=blue|Groen=#00ff00)
De laatste is een voorbeeld waarbij er extra data is meegeven. Zie verderop voor de mogelijkheden/gebruik.
Voorbeeld uitgewerkt (we willen de redacteur laten kiezen uit 3 weergaves van de pagina):
Weergave:tmplWeergave(Geen afbeeldingen|Afbeeldingen rechts|Afbeelding links)
Afhankelijk van de gemaakte keuze wordt nu achter de variabele-naam (tmplWeergave) een volgnummer gezet, beginnend bij 0. Kiest de redacteur bijvoorbeeld voor 'Afbeeldingen rechts' dan is de variabele tmplWeergave1 beschikbaar.
In de html:
<!-- TMPL_IF NAME="tmplWeergave0" --> ...(toon geen afbeeldingen)... <!-- /TMPL_IF --> <!-- TMPL_IF NAME="tmplWeergave1" --> ...(toon afbeeldingen rechts)... <!-- /TMPL_IF --> <!-- TMPL_IF NAME="tmplWeergave2" --> ...(toon afbeeldingen links)... <!-- /TMPL_IF -->
De variabele tmplWeergave zelf is ook beschikbaar en bevat als waarde _xcms_list_n, waarin n het volgnummer is van de gekozen optie. Volgens bovenstaande voorbeeld dus _xcms_list_1.
Deze waarde kan bijvoorbeeld worden gebruikt om een classname te genereren:
<div class="kleur<!-- TMPL_VAR NAME="tmplWeergave" -->"> ... </div>
en in de css
.kleur_xcms_list1 { color: #fff; } .kleur_xcms_list2 { color: #f00; }
De tekst van de gekozen optie is beschikbaar via de variable _xcms_list_label_naam. In ons voorbeeld:
<h2><!-- TMPL_VAR NAME="_xcms_list_label_tmplWeergave" --></h2>
levert op
<h1>Afbeeldingen rechts</h2>
Daarnaast is het ook mogelijk om de complete lijst van opties in de html weer te laten geven via _xcms_list_list_naam, bijvoorbeeld om de bezoeker van de website een keuze te laten maken:
<select> <!-- TMPL_LOOP NAME="_xcms_list_list_tmplWeergave" --> <option value="<!-- TMPL_VAR NAME="id" -->"><!-- TMPL_VAR NAME="label" --></option> <!-- /TMPL_LOOP --> </select>
levert op
<select> <option value="_xcms_list_0"></option> <option value="_xcms_list_1">Geen afbeeldingen</option> <option value="_xcms_list_2">Afbeeldingen rechts</option> <option value="_xcms_list_3">Afbeeldingen links</option> </select>
Zoals aangegeven kan voor elk item in de lijst ook een waarde worden meegegeven. In dat geval is ook de variabele _xcms_list_data_naam beschikbaar. Met
Kleur:tmplColor(Rood=red|Blauw=blue|Groen=#00ff00)
is dan bijv. het volgende mogelijk
<p style="color:<!-- TMPL_VAR NAME="_xcms_list_data_tmplColor" -->">...