De syntax van een lus

Een lus declareert typisch zowel een databasetabel waaruit informatie kan worden geëxtraheerd als de criteria die moeten worden gebruikt voor het selecteren van een deelverzameling van de records van de tabel.

<BOUCLE_lusnaam(TABEL){voorwaarde1}{voorwaarde2}>
 ... behandeling die op ieder geselecteerd record moet worden toegepast ...
</BOUCLE_lusnaam>

Elke lus heeft zijn eigen naam die uniek moet zijn binnen het skelet. Deze naam wordt samen met het gereserveerde woord "BOUCLE" (Frans voor lus) gebruikt om het begin en het einde van de lus te markeren. In dit voorbeeld is de naam van de lus "_lusnaam".

De tabel wordt gespecificeerd door zijn alias (geschreven in hoofdletters) of door de echte naam van de tabel (afhankelijk van het geval), bijvoorbeeld "spip_articles". Het voorbeeld gebruikt de alias "TABEL".

De declaratie van deze lus wordt gevolgd door de criteria, die altijd door accolades zijn ingesloten. Zo zal bijvoorbeeld de voorwaarde {par nom} de resultaten sorteren in oplopende volgorde van de inhoud van de kolom "nom" van de databasetabel.

Voorbeeld

Deze lus geeft een overzicht van alle afbeeldingen die in de database zijn opgeslagen. Het haalt de gegevens uit de database met behulp van de alias DOCUMENTS en de voorwaarde {extension IN jpg,png,gif}. De lus zal alleen die bestanden ophalen die een extensie van de bestandsnaam hebben die overeenkomt met een van de drie extensies in de gegeven lijst.

<BOUCLE_documents(DOCUMENTS){extension IN jpg,png,gif}>
    [(#FICHIER|image_reduire{300})]
</BOUCLE_documents>

Het baken #FICHIER bevat de URL van de afbeelding. Met behulp van het pijpsymbool wordt vervolgens een filter met de naam "image_reduire" op het baken toegepast. Dit specifieke filter werkt als een functie die de grootte van de originele afbeelding aanpast tot maximaal 300 pixels (in hoogte EN breedte) en geeft een HTML <img>-tag terug voor de afbeelding die is gegenereerd en geschaald zoals aangegeven.

Auteur hanjo Gepubliceerd op: Aangepast: 12/03/23

Vertalingen: English, Español, français, Nederlands