Hallo André, welkom hier 8)
Met Smarty kun je ontzettend veel doen. Je verwijst zelf al naar
www.smarty.net. Daar vind je de documentatie van wat allemaal mogelijk is. Alles wat je daar leest kun je hier toepassen.
CMSms heeft daarnaast zelf ook een aantal tags. Je vindt ze (met uitleg) via het admin menu: Uitbreidingen > Tags
Elke module moet je ook aanroepen met een tag. Dat is in ieder geval {cms_module module='ModuleNaam'} en soms kan het ook met een verkorte aanroep. Hoe en wat vind je in de uitleg van de betreffende module, evenals welke parameters je kunt gebruiken.
Al die tags kunnen smarty
variabelen definiëren. Bijvoorbeeld {news} maakt een variabele {$itemcount} aan, waarin het aantal nieuwsitems is opgeslagen. Maar ook een array $items, waarin de informatie van de afzonderlijke nieuwsitems zijn opgeslagen.
De variabelen die je kunt gebruiken vind je veelal in de voorbeeldsjablonen (In het geval van News in bijv de samenvattingssjablonen).
De inhoud van variabelen kun je bewerken met
smarty modifiers. Zie
http://www.smarty.net/manual/en/language.modifiers.php
Maar je kunt ook (vrijwel?) elke php functie gebruiken! Dat maakt smarty bijzonder krachtig.
Soms zijn er meer variabelen beschikbaar dan je in de voorbeeldsjablonen terugvindt. Bij Gallery heb ik een info-button in de template editor gezet waarmee je uitleg krijgt over alle beschikbare variabelen. Maar dat is bij andere modules niet of nauwelijks zo.
Je kunt dan de volgende tag gebruiken:
{get_template_vars} om alle variabelen te tonen
Als je dieper op objecten en arrays wil inzoomen, gebruik je
{var_dump var=$entry}, {dump item=$entry}, {$entry|debug_display}, {$entry|print_r}
(met dank aan het onderschrift van Peciura)
In dit geval wordt de variabele $entry dus nader bekeken. Merk op dat deze variabele in News pas bestaat binnen of na de statement:
{foreach from=$items item=entry}
....
{/foreach}
Hopelijk kun je hiermee verder aan de slag. Het is zeker raadzaam om de smarty documentatie door te lezen.