Een skelet, meerdere artikelen...

De eerste les heeft laten zien hoe je de gegevens van een bepaald artikel (nummer 1) uit de database haalt en weergeeft op een webpagina. Nu wat algemener...

Het eerste skelet was niet erg zinvol omdat het uitsluitend werkt om artikel 1 weer te geven. We gaan nu kijken hoe het ieder artikel kan tonen:

We zouden kunnen proberen door wat extra parameters aan onze opvraging toe te voegen, zoals id_article=2. We doen het en voegen deze parameter aan de URL in onze browser toe:
«http://mijnsite.nl/spip.php?page=tutor&id_article=2»

Mislukt! We zien nog steeds artikel 1 en niet artikel 2. Daarom passen we nu het skelet tutor.html aan en vervangen de eerste regel door:

<BOUCLE_artikel(ARTICLES){id_article}>


We vervangen dus het gedeelte {id_article=1} door {id_article}.

En jawel: http://mijnsite.nl/spip.php?page=tutor&id_article=2 toont nu inderdaad de gegevens van artikel 2. [1]

De tag BOUCLE_artikel wordt uitgevoerd in een "context" waarin id_article gelijk is aan 2 (de waarde die we via de URL hebben doorgegeven). Wanneer we {id_article=1} opgeven, zoekt het skelet naar artikel 1, maar wanneer we alleen {id_article} vermelden, zoekt het naar het artikel dat in de context wordt aangegeven (en hier werd dat door middel van de URL gedaan).

Voer nu eens deze opdrachten uit:
-  http://mijnsite.nl/spip.php?page=tutor&id_article=1,
-  http://mijnsite.nl/spip.php?page=tutor&id_article=2 en
-  http://mijnsite.nl/spip.php?page=tutor.

Zie je het verschil? De eerste twee opdrachten geven slechts de inhoud van één artikel weer. Bij de derde was id_article niet in de context opgenomen en werd een foutmelding weergegeven.

LET OP: Het kan nodig zijn om tussen de verschillende opdrachten de pagina te laten herberekenen (knop rechtsboven in de pagina) om de wijzigingen aan het skelet door te voeren.

Het skelet is nu "contextueel" geworden.

Voetnoot

[1Niet? Het zou toch zo moeten zijn...

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

Vertalingen: عربي, català, corsu, Deutsch, English, Español, فارسى, français, italiano, 日本語, Nederlands, polski, Português, русский, slovenčina, svenska, Türkçe, українська