Tot de site behorende bakens

De volgende bakens zijn overal in het skelet beschikbaar, dus ook buiten een lus.

In de configuratie gedefinieerde bakens

De inhoud van deze bakens werd in tijdens configuratie in het privé gedeelte van de site vastgelegd.

-  #NOM_SITE_SPIP toont de naam van de site.

-  #URL_SITE_SPIP toont het adres van de site. Ze bevat niet de / aan het einde, dus zo bouw je een URL op: #URL_SITE_SPIP/hello.php

-  #DESCRIPTIF_SITE_SPIP toont de beschrijving van de site, die je ook ziet in de algemene configuratie van de site.

-  #EMAIL_WEBMASTER toont het emailadres van de webmaster. Standaard neemt SPIP het emailadres van degene die de site installeerde (de eerste administrateur).

-  #LOGO_SITE_SPIP geeft het logo van site 0 weer. Het moet niet worden verward met het logo aan de root, wat ook wel wordt aangeduid met het standaard logo voor rubrieken: dat van rubriek 0.

-  #CHARSET geeft de door de site gebruikte karakterset. De standaardwaarde is iso-8859-1, ofwel «iso-latijns» [1].

-  #LANG geeft wanneer het wordt gebruikt buiten een ARTICLES, RUBRIQUES, BREVES of AUTEURS lus de hoofdtaal van de site weer.

-  #LANG_DIR, #LANG_LEFT, #LANG_RIGHT tonen (vanaf SPIP 1.7) de schrijfrichting aan van de actuele context (bijvoorbeeld van het artikel wat wordt getoond). Lees voor meer informatie het artikel over een meertalige site.

-  #MENU_LANG (en #MENU_LANG_ECRIRE) genereren en tonen een taalmenu, waarmee een bezoeker een beschikbare taal kan kiezen. Het eerste baken toont de lijst van talen voor de site, het tweede geeft de lijst in het privé gedeelte (ze wordt gebruikt op de aanmeldpagina van het privé gedeelte).

Bakens voor de pagina-indeling

-  Het baken #DOSSIER_SQUELETTE maakt het gemakkelijk zelf skeletten te kunnen definiëren. Ze geeft het pad aan van de map waarin het gebruikte skelet is geplaatst.

Je kunt op die manier de «accessoire» bestanden voor het skelet (stylesheets, JavaScript, enz.) lokaliseren en gemakkelijk de map gebruiken bij andere skeletten. Om dus een stylesheet uit die skelettenmap toe te voegen, kun je schrijven:

<link rel="stylesheet" href="#DOSSIER_SQUELETTE/mijn_stylesheet.css" type="text/css" />

Het baken #CHEMIN is een verbeterde versie van het baken #DOSSIER_SQUELETTE. #CHEMIN{xxx} geeft het volledige pad naar het bestand xxx aan, waar het zich ook bevindt in het zoekpad van SPIP:

<link rel="stylesheet" href="#CHEMIN{mijn_stylesheet.css}" type="text/css" />

-  #PUCE toont een "bullet".

-  #FORMULAIRE_ADMIN is een optioneel baken dat de administratieve knoppen («pagina herberekenen», enz.) laat zien. Wanneer een aangemelde administrateur door de publieke site browst, zal het baken de knoppen tonen.

In stylesheet spip_admin.css kun je de positionering van die knoppen regelen.

-  #DEBUT_SURLIGNE en #FIN_SURLIGNE zijn twee bakens die aan SPIP aangeven in welk gedeelte van de pagina de gezochte woorden in een andere kleur moeten worden weergegeven. Zie: «De zoekbakens en -lussen».

-  Het baken #INSERT_HEAD mag tussen de HTML tags <head> en </head> van de skeletten worden geplaatst. Hieraan kan SPIP, maar ook elke plugin, zien waar eventueel tussen deze twee tags informatie kan worden toegevoegd (zoals een extra stylesheet).

Technische bakens

Let op, deze bakens moeten uitsluitend door ervaren SPIP gebruikers worden toegepast.

-  Het baken #REM laat toe een commentaar in een skelet te plaatsen: [(#REM) Dit is een commentaar. ]. Deze commentaren zullen niet in de publieke site worden weergegeven. Zie ook: Hoe kan ik een deel van een skelet inactief maken?

-  #SELF geeft de URL van de opgeroepen pagina, waarbij eventuele variabelen bedoeld voor de juiste werking van SPIP zijn verwijderd. Dus voor een pagina et URL: spip.php?article25&var_mode=recalcul retourneert het baken #SELF: spip.php?article25.

Je kunt dit gebruiken in een formulier:

<form action="#SELF" method="get">

Let op: het baken #SELF vertegenwoordigt het adres van de pagina en is niet compatibel met <INCLURE()> (tenzij $delais op 0 is gezet).

-  #URL_PAGE geeft een URL van het type «page» (vgl. De URLs van SPIP) naar de als parameter doorgegeven pagina. Deze URL kan vervolgens als link worden gebruikt. Om bijvoorbeeld de pagina te benaderen die door skelet toto.html in je skelettenmap wordt aangemaakt, schrijf je #URL_PAGE{toto} wat automatisch resulteert in de URL spip.php?page=toto. Om aan die URL parameters toe te voegen, mag je deze als tweede parameter aan #URL_PAGE toevoegen. Bijvoorbeeld: #URL_PAGE{toto,id_article=#ID_ARTICLE} wat resulteert in de URL spip.php?page=toto&id_article=XXX.

-  [(#ENV{xxxx,zzzz})] laat toe de aan het HTTP request doorgegeven variabele met naam xxxx op te vragen. zzzz is een optioneel deel dat ervoor zorgt dat altijd een waarde wordt geretourneerd, zelfs wanneer de variabele xxxx niet bestaat. Een gedetailleerde uitleg vind je op Spip-Contrib

Standaard wordt het baken #ENV gefilterd door htmlspecialchars. Wil je het "ruwe" resultaat, dan kun je een ster «*» toevoegen, zoals ook bij andere bakens: [(#ENV*{xxxx})].

Om bijvoorbeeld de lijst van auteurs te beperken:

<BOUCLE_auteurs(AUTEURS) {nom == #ENV{letter,^A}}>

Dit geeft de lijst van auteurs met een aan de uitdrukking overeenkomende naam die in de variabele letter werd doorgegeven (spip.php?page=liste_auteur&amp;letter=^Z) of de auteurs die een naam hebben beginnend met een ’A’ als de variabele niet in de URL staat.

-  #SPIP_CRON is niet meer in SPIP3 is opgenomen en heeft te maken met het beheer van SPIP van periodieke berekeningen (statistieken, indexering van de zoekmachine, syndicatie van sites, enz.).

Wanneer dit baken niet in de site aanwezig is, voert de motor van SPIP zijn taken uit in stille periodes, nadat het een pagina naar een gebruiker heeft doorgestuurd. Helaas kan PHP de verbinding aan het eind van een pagina niet afsluiten, wat soms tot traagheid kan leiden.

Met het baken #SPIP_CRON pwordt dit probleem omzeild: het plaatst een onzichtbare "marker" <div> waarvan de «background» naar het script spip_background.php verwijst. Dit script voert de nodige taken uit «in de achtergrond» en stuurt een transparante afbeelding van 1×1 pixels terug..

Nota: dit baken is niet strategisch en is, zoals gezegd, sinds SPIP 3.0 verdwenen en heeft dus geen effect mocht het nog in skeletten zijn opgenomen.

-  Het baken #SET{variabele,waarde} en het bijbehorende #GET{variabele} werden in SPIP 1.9.1 geïntroduceerd. Het baken #SET{xxx,yyy} kent een waarde yyy toe aan de variabele xxx binnen het huidige skelet. De waarde kan worden opgehaald met baken #GET{xxx}. Deze variabelen worden niet doorgegeven aan een opgeroepen skelet.

Let op! Wanneer je een waarde toewijst in een facultatief deel van een lus, is het niet mogelijk die waarde binnen de lus te gebruiken. Dit heeft te maken met de manier waarop SPIP de lussen in skeletten berekent.

-  Het baken #HTTP_HEADER{argument} maakt de aanpassing van de HTTP header van de door SPIP geleverde pagina mogelijk. Bijvoorbeeld: #HTTP_HEADER{Content-Type: text/css}. Let op! Het gebruik van dit baken verwijdert de administratieve knoppen. Het baken mag niet worden gebruikt in opgeroepen skeletten via de syntax <INCLURE>.

-  Het baken #EVAL{argument} evalueert de tussen accolades geplaatste PHP expressie. Zo zal #EVAL{1+1} de waarde 2 weergeven, #EVAL{_DIR_IMG_PACK} geeft het pad naar de map ecrire/img_pack/. Dit baken moet met het nodige voorbehoud worden toegepast!


-  Het baken #CACHE{temps} bepaalt na hoeveel tijd een skelet opnieuw moet worden geïnterpreteerd. De tijd is uitgedrukt in seconden en mag bestaan uit een formule. Bijvoorbeeld: #CACHE{24*3600}.

-  Het baken #SQUELETTE geeft het pad naar het huidige skelet.

-  Het baken #VAL{argument} retourneert het argument dat tussen de accolades staat. Zo retourneert #VAL{toto} de waarde "toto".

Voetnoot

[1Vgl. www.uzine.net/article1785.html voor een introductie in de karaktersets.

Auteur Hanjo Gepubliceerd op: Aangepast: 21/03/23

Vertalingen: عربي, català, Deutsch, English, Español, français, italiano, Nederlands