afbeelding van Dirk Van Daele

Programmeerbare tekstpagina's?

Dit is misschien een wat ongewone vraag. Is het mogelijk om in Drupal tekst te genereren op basis van variabelen en 'if then else', en liefst ook 'switch case1 case2 ...'?

Wij beheren www.agii.be/thema/vreemdelingenrecht-internationaal-privaatrecht een website met heel veel tekstuele informatie. De tekst op 250 pagina's is afhankelijk van een aantal keuzes die de bezoeker moet maken. Het gaat over de pagina's die zich onder deze boomstructuur bevinden. De bezoeker moet eerst 3 à 4 keer een keuze maken uit 2 tot 5 mogelijkheden alvorens hij op één van de 250 pagina's komt. Daar staat dan de informatie die hij zoekt.
Voor ons is het veel werk om die 250 verschillende tekstpagina's te beheren. Ze moeten regelmatig aangepast worden.
Gelukkig zijn er tekstblokken die op verschillende van die pagina's terugkomen. Maar op elke pagina zijn ze als het ware 'gepersonaliseerd'. Een tekstblok met 'De echtgenoot moet voldoende huisvesting voorzien ...' wordt op een andere pagina 'De ouder moet voldoende huisvesting voorzien ...'.
Ik wil die 250 pagina's terugbrengen tot een vijftal generische pagina's. In zo'n generische pagina wil ik met een eenvoudige programmeertaal kunnen beschrijven hoe de uiteindelijke pagina moet gegenereerd worden. Afhankelijk van parameters wil ik tekstblokken kunnen aanroepen met variabelen.

Zo'n generische pagina zou er dan in pseudocode zo kunnen uitzien:

Tekstblok_huisvesting(Verwantschap);
if (Verwantschap == 'partner') then Tekstblok_bestaansmiddelen(Verwantschap);
Tekstblok_ziekteverzekering(Verwantschap, Land);
...

Als de gebruiker dan online zijn keuzes maakt, worden die parameters en variabelen ingesteld. Als alle nodige parameters ingesteld zijn, wordt de pagina gegenereerd ('geïnstantieerd'). De bezoeker ziet dan de informatie die hij zocht.

Bestaat een dergelijk systeem? Eventueel alternatieven? Alle hulp is welkom.

Alvast bedankt,
Dirk

Auteur: 
Dirk Van Daele
afbeelding van belba
Door belba op 25 oktober, 2020 - 12:52

Je invoer wordt verkregen door een input in formulier velden. Je resultaat wordt door een variabele weergegeven via je Twig templates. Die variable kan je conditioneel maken. Dus je zal condities nodig hebben die bepalen dat als er een text gedeelte overeenkomt met de conditie, de output veranderd. In Twig kan dit met de replace filter.

Succes, Jan

afbeelding van Dirk Van Daele
Door Dirk Van Daele op 26 oktober, 2020 - 07:40

Bedankt Jan voor de suggestie. Ik ben niet echt thuis in deze materie maar zal het verder met een specialist bekijken.
Dirk

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.

onomatopee