#SET{variabele,waarde}
#GET{variabele}
retourneert "waarde".
De met #SET
gedefinieerde variabele kan een tekenreeks of een tabel zijn.
- Een tekenreeks:#SET{mijn_var, artikel van #NOM}
#GET{mijn_var}
geeft weer:
artikel van Toto
- Een tabel [1]:#SET{mijn_tab, #ARRAY{a,een,b,twee,c,drie,d,vier}}
[(#GET{mijn_tab}|foreach)]
geeft weer:
- a => een
- b => twee
- c => drie
- d => vier
Bevat je reeks komma’s, dan moet je hem tussen aanhalingstekens zetten:[(#SET{fruit,'appel, peer, banaan'}]
Geavanceerde toepassing van tekenreeksen
- Een regexp (reguliere expressie):
#SET{reg1, '(^.*/[^/]+[/])'}
#SET{reg2, '\.[\w-_]+?'}
<BOUCLE_def(DOCUMENTS){tout}>
[(#FICHIER|replace{#GET{reg2}}|replace{#GET{reg1}})]<hr>
</BOUCLE_def>
onttrekt en toont de naam van het bestand van een document, ontdaan van zijn path en extensie.
Is bijvoorbeeld #FICHIER
het bestand IMG/pdf/Statistieken_311207.pdf dan is het resultaat Statistieken_311207.
Het belang van het gebruik van de bakens #SET
en #GET
met regexp is de toepassing van rechte haakjes ([ en ]) in het filter |replace
.
- Het resultaat van een INCLURE
:
[(#SET{mijn_var, #INCLURE{fond=berekening}})]
Standaardwaarde
Wanneer variabele
niet voorafgaand werd gedefinieerd door een #SET{variabele, waarde}
, kan een standaardwaarde aan het baken #GET worden toegevoegd: #GET{variabele, standaardwaarde}
retourneert «standaardwaarde» als «variabele» niet vooraf werd gedefinieerd.
Let op: deze methode wijst «standaardwaarde» niet toe aan «variabele».
Een met #SET gedefinieerde waarde doorgeven
De met het baken #SET
gedefinieerde waardes kunnen alleen binnen het skelet zelf worden gebruikt.
Dus een waarde die werd gedefinieerd door een #SET in een ingesloten bestand, dan kan die niet worden gebruikt in het aanroepende skelet.
Weet waar je de #SET plaatst
Wanneer je wilt dat een lus één of meerdere waardes levert aan een met #SET
gedefinieerde variabele, dan plaats je de definiërende #SET
vóór het eerste baken dat de lus opent.
Dit is met name belangrijk wanneer de lus wordt gedeclareerd met de volledige syntax (want een definiërende #SET
geplaatst tussen <B_..>
en <BOUCLE_...>
wordt pas uitgevoerd na het uitvoeren van de lus.)