home | sitemap

Paginalijsten/Labels-module 

De module paginalijsten of labels kan worden gebruikt om overzichten te tonen van gerelateerde pagina's. Als deze module beschikbaar is, dan kan elke pagina bij de pagina-instellingen worden voorzien van 1 of meer trefwoorden/labels, bijvoorbeeld 'project' of 'nieuws'. Een overzicht toont dan alle pagina's die voldoen aan het label 'project' of juist aan de labels 'project' en 'nieuws'. Meerdere labels dienen gescheiden te worden met een komma of puntkomma.

Op de pagina waar het overzicht getoond moet worden moet een zogenaamde macro worden opgenomen. Het cms zal deze macro bij het publiceren lezen en omzetten naar de lijst. De macro ziet er als volgt uit:

[­LIST s=1 n=5 style=3 img=1 stay=1 labels=project,...] 

of de minimale variant

[­LIST labels=project,...]

Aan de lijst kunnen verschillende parameters worden meegegeven, deze zijn:

type  Behalve pagina's kunnen ook afbeeldingen en documenten in een lijst worden weergegeven. Geen type opgegeven of het type 'page' betekent een overzicht van pagina's. type=img of type=doc betekent resp. een overzicht van afbeeldingen of documenten.
s  Geeft aan bij welke pagina het overzicht moet beginnen. Een waarde van 5 slaat bijvoorbeeld de eerste 5 over. Op deze manier kan bijvoorbeeld een archief worden gemaakt: één pagina toont de lijst van 1 t/m 5 en de andere pagina 6 t/m ... Geen s opgeven betekent s=1.
n  Het aantal pagina's dat moet worden getoond. Geen n opgeven betekent n=1000.
style  De weergave van de lijst. Er zijn 5 mogelijkheden: 1) een simpele lijst, 2) titel + lees meer link, 3) afbeelding, titel, samenvatting en lees meer link, 4) afbeelding, datum, titel, samenvatting en lees meer link en 5) idem als 4, maar nu met de datum na de titel. Geen style opgeven betekent style=1.
Zie ook de optie 'template' hieronder voor uitgebreidere mogelijkheden.
img  Of bij elke pagina de lead-image getoond moet worden (zie pagina-instellingen.) Een waarde van 0 betekent geen afbeelding tonen, een waarde van 1 wel. In plaats van 0 of 1 kan ook left, right of toggle worden opgegeven om de afbeeldingen juist rechts of om-en-om (net als bij overzicht nieuwsitems) te tonen. Geen img opgeven betekent img=0.
stay  Geeft aan of de hyperlinks naar de oorspronkelijke pagina moeten springen of dat de inhoud van die pagina's in de huidige pagina moet worden getoond. In dit laatste geval blijft bijvoorbeeld het menu gehilight zoals als het is. Mogelijke waarden: 0 of 1. Geen stay opgeven betekent stay=0.
dateformat 

Het formaat waarin de datum weergegeven moet worden. Dit kan zijn: 
- short:  dd-mm-jjjj
- shorttime: dd-mm-jjjj hh:mm:ss
Geen dateformat opgeven betekent het standaard formaat: dd maand jaar.

template 

Via style kan gekozen worden uit 1 van de 5 standaard weergaves. Voor een eigen weergave kan zelf een template worden bedacht. Dit template bevat de html voor 1 item in de lijst. De template kan de bekende TMPL_... constructies bevatten.

Een template kan gewoon in de map van de vormgeving staan en dient als naam list_xyz.html te hebben, bijv. list_mijnlijst.html. Er dient ook een configuratiebestand te zijn met als naam list_mijnlijst.conf. Als de template bijv. list_mijnlijst.html heet, dan dient de redacteur op te geven:

[­LIST ... template=mijnlijst ...]

De volgende variabelen zijn beschikbaar:
- xcms_title: titel van de pagina
- xcms_url: url naar de pagina
- xcms_leadimage: complete hyperlink (<a href="/..."><img ...) naar de lead-image
(PS: de originele url is te verkrijgen via 'leadimage'.)
- xcms_leadimageXXXxYYY: de url naar de leadimage op basis van de ingestelde afmetingen bij de afbeeldingen-instellingen
- xcms_description: samenvatting van de pagina zoals ingesteld bij de pagina-instellingen
- xcms_date: datum, zie dateformat
- xcms_style: zie style
- xcms_first: heeft de waarde 'first' als het het eerste element is
- xcms_last: heeft de waarde 'last' als het het laatste element is
- xcms_odd: heeft de waarde 'odd' als het element oneven is. Het eerste element (0) is even, het tweede (1) oneven, etc.
- xcms_counter: volgnummer van item (1, 2, 3, etc.)
- xcms_count: het totaal aantal items
- xcms_all: de lijst met alle items (kan gebruikt worden in combinatie met TMPL_LOOP)
- xcms_site: naam van de website
- xcms_current: als het element de huidige pagina is (werkt alleen in combinatie met type=subpages om op die manier bijvoorbeeld een extra menu-niveau te maken).

Als een pagina de mogelijkheid biedt om er op te reageren via de 'Reacties per pagina'-module, dan zijn ook de volgende variabelen beschikbaar
- xcms_comments_count: aantal reacties
- xcms_comments_rating: overall rating als waarde tussen 0 en 1 (incl.)
Voor een statische website wordt de rating opgeslagen in een javascript variabele met de naam xcmsRating. Dit is een array waarvan de waarde per pagina kan worden opgevraagd via het id van de pagina:

<script type="text/javascript">
alert("De waarde is: "+xcmsRating['<!-- TMPL_VAR NAME="id" -->']);
</script>

Zie de 'Reacties per pagina'-module hoe een rating weer met afbeeldingen kan worden weergegeven.

Als de lijst afbeeldingen of documenten moet weergeven zijn de volgende variabelen ook beschikbaar:
- xcms_filesize en xcms_filesizenum
- xcms_modified
- xcms_type

En specifiek voor afbeeldingen ook:
- alt en longdesc

Daarnaast zijn eventuele eigen variabelen toegevoegd via de stijl-variabelen voor een afbeelding of document ook beschikbaar.
Ook hiervoor geldt, net als bij xcms_leadimage, dat voor variabelen voor afbeeldingen ook de urls naar de verschillende afmetingen beschikbaar zijn. Voorbeeld: Afbeelding:tmplMijnAfbeelding(img) levert ook variabelen op als tmplMijnAfbeeldingXXXxYYY voor elke ingestelde afmeting.

Indien gewenst kunnen ook eigen variabelen aan de macro worden toegevoegd om zo specifieke instellingen per template mogelijk te maken. De naam van de variabele mag vrij gekozen worden, mits deze niet gelijk is aan een van de genoemde standaard parameters.
Om aan een lijst bijv. een eigen titel mee te geven kan het volgende worden opgegeven:

De eigen variabelen dienen in het conf-bestand opgegeven te worden. Bijv.:

title=Mijn Lijst
Titel:titel
Url:url(/page)

[­LIST template=mijntemplate titel="Titel voor deze template" url="..."]

Bekijk enkele voorbeelden van templates voor de mogelijkheden. 

labels 

De labels waaraan pagina's moeten voldoen willen ze getoond worden. De labels moet gescheiden worden met een komma of puntkomma. Meerdere labels betekent dat alle pagina's worden getoond die al die labels hebben, de zogenaamde EN-functie. labels=project,nieuws betekent dus dat alle pagina's worden getoond met het label project én nieuws (en misschien nog wel meer labels.) Moeten pagina's worden getoond die voldoen aan minimaal één van de opgegeven labels, de OF-functie, zet dan een + voor het eerste label, bijvoorbeeld labels=+project,nieuws. Een pagina met de labels project of nieuws (en misschien nog wel meer) wordt getoond, een pagina met de labels hyperlink en/of website niet.

Door bij een EN-functie een uitroepteken (!) voor ene label te zetten geeft u aan dat de pagina's dat label niet mogen hebben. Met labels=project,website,!klant geeft u dus aan dat de pagina's de labels project en website getoond moeten worden, behalve als ze ook het label klant hebben.

De EN- en OF-functie kunnen ook gecombineerd worden. Wilt u bijvoorbeeld alle pagina's tonen met de labels project en website en de labels klant of gebied, gebruik dan labels=project,website+klant,gebied. Enkele voorbeelden:

[­LIST ... labels=a,b]
(Toont alle pagina's met de labels a EN b)

[­LIST ... labels=+a,b]
(Toont alle pagina's met de labels a OF b)

[­LIST ... labels=a,b+c,d]
(Toont alle pagina's met de labels (a EN b) en (c OF d).
M.a.w.: toon alle pagina's met a en b die verder ook label c of d moeten hebben)

[­LIST ... labels=a,!b+c,d]
(Toont alle pagina's met de labels a en (c OF d), maar niet als ze label b hebben.)

[­LIST ... labels="a b c,d+e,f"]
(Toont alle pagina's met de labels 'a b c' EN d en e OF f.
'a b c' is een label met spaties. Als dat voorkomt, zet dan "..." om de opsomming van labels.) 

map  Als afbeeldingen of documenten moeten worden weergegeven, dan kan ook de inhoud van een map getoond worden. Geef in plaats van labels dan de map naam op:
map="Afbeeldingen XYZ"
De naam van de map is zoals weergegeven in de dropdown bij het kiezen van een map bij de afbeeldingen/documenten.
showcurrent

Standaard toont een lijst niet de pagina waar de lijst zelf ook op staat. Dat is met name bedoeld voor paginalijsten die verwijzen naar soortgelijke pagina's, denk bijvoorbeeld aan een overzicht van 'Andere relevante pagina's'. Het is in dat geval niet wenselijk dat de huidige pagina daar ook weer tussen staat.
Door showcurrent op 1 te zetten zal de pagina waar de lijst op staat zelf wel in de lijst verschijnen.

NB: bekijk de broncode van de html van een pagina met een lijst voor een compleet overzicht én inzicht van gebruikte ID's en classnames voor het opmaken van de lijst.

De LIST-macro kan door een redacteur in het contentvlak worden gezet, maar kan ook door de vormgever overal in de html pagina worden gebruikt. Middels stijl-variabelen kan de redacteur bijvoorbeeld enkele parameters zelf opgeven:

...
<p>[­LIST labels="<!-- TMPL_VAR NAME="..." -->" n="<!-- TMPL_VAR NAME="..." -->]</P>