Filter syntaxis

Filters worden toegepast op bakens door gebruik te maken van het pipe ("|") karakter. Hun effect is het aanroepen van een PHP-functie, ofwel een functie die zich in de standaard PHP-bibliotheek bevindt, ofwel een functie die binnen SPIP is gedeclareerd.

[(#BAKEN|filter)]
[(#BAKEN|filter{argument2, argument3, ...})]

Wanneer een filter "x" wordt gevraagd, zoekt SPIP naar een functie genaamd "filtre_x". Als het er geen vindt, zoekt het naar "filtre_x_dist", en dan naar "x". Het voert dan de functie uit die het gevonden heeft, waarbij het alle argumenten doorgeeft. Het is belangrijk om te begrijpen dat het eerste argument dat naar het filter (en dus naar de PHP-functie) wordt gestuurd, het resultaat is van de component die zich direct links van dat filter bevindt. Daarom toont het bovenstaande voorbeeld de parameterlijst van het filter als argument2, argument3, enz.

Voorbeeld

Voeg een title attribuut toe aan een link. Om dit te doen, gebruiken we het filter |couper, waarmee we een tekst tot een gevraagde lengte kunnen reduceren, en het filter |attribut_html, waarmee we escape sequence karakters kunnen toepassen op apostrofen die problemen kunnen veroorzaken met de gegenereerde HTML code (voorbeeld: title='David's boek' zou een probleem veroorzaken vanwege de apostrof in de titel).

Het filter |couper wordt toegepast op het resultaat van het baken #TITRE en het filter attribut_html wordt toegepast op het resultaat van het filter |couper. Dit laat zien hoe filters aan elkaar kunnen worden gekoppeld.

<a href="#URL_ARTICLE" title="[(#TITRE|couper{80}|attribut_html)]">Volgend artikel</a>

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

Vertalingen: English, français, Nederlands