Rules

Leseenheid

Nodig

Moeilijkheidsgraad

4

Eén van de krachtigste modules van Drupal. Een rule (regel) bestaat standaard uit drie delen:

1) de trigger die de rule uitlokt (er wordt gekeken naar een bepaalde pagina)

2) optioneel kan je ook voorwaarden invullen (bvb inhoudstype)

3) de acties die ondernomen moeten worden (bvb bericht op de site, node aanmaken, mail versturen,..)

Rules kan dus enorm veel. Alles (bijna) wat je manueel kunt doen in Drupal kan je met Rules automatiseren. Denk bvb aan een webshop waarbij er iemand iets bestelt... De trigger is de bestelling, de acties kunnen zijn: mail versturen naar klant, mail versturen naar de webshop, factuur aanmaken, bestelling in database bewaren,...

Ik ga hier om didactische redenen jullie gedrag volgen op deze site voor de paswoord beveiligde pagina's. Wie bekijkt er wat, wanneer? Straf hé.

We beginnen met de installatie:

We vinken aan:

Rules kan je via de admin menu als volgt bereiken:

Hier kan je de reeds bestaande rules zien of er nog een bijmaken:

De eerste meldt mij wanneer er iemand iets gepost heeft op de FAQ's forum op de site. Ik krijg dan een mail.

Je kunt in de mail de inhoud ook met tokens (=variabelen) instellen. Hier volstaat een link. Ik kon ook de body van de node laten me mailen.

Dat was een opwarmertje. Nu ga ik kijken wie er E-learning inhoud bekijkt op de site. Wij gaan een analoge, afgeslankte oefening maken. Volg eerst mijn redenering. ik neem als gebeurtenis het bekijken van mijn vier paswoord beveiligde inhoudstypes.

Als voorwaarde stel ik dat anoniem en administrator niet moeten getraced worden. (anoniem is een beetje overbodig... zij kunnen de inhoud niet bekijken)

Stel dit in en kies zowel anoniem, als administrator

Truc meeetdedooif. We willen deze rollen niet! Zo keer je een voorwaarde om.

We stellen nu de acties in. We tonen op de site dat ze gevolgd worden, maken een nieuwe node aan en zetten gegevens in de velden. Je moet natuurlijk eerst het inhoudstype aanmaken om deze gegeven sin te steken. Titelveld, gebruikerveld en datumveld. De laatste actie is een mail, maar dit is een component. Ik doe dit om didactische redenen zodanig dat je daar ook al eens mee gewerkt hebt.

Het bericht:

Het maken van een node:

Blijkbaar moet er hier iets ingevuld worden:

Nu gaan we inhoud toevoegen.

De datum wordt ook in het datumveld ingevuld.

Laat ons ook eens een component maken. Dit zijn stukken van een regel die je desnoods opnieuw kunt gebruiken of die dienen om complexe voorwaarden overzichtelijker te maken.

We kiezen voor een mail.

Geef het kind een naam

en stel alles in.

Nu kan je in rules bij acties, gans onderaan deze componenten invoeren. Componenten kunnen zelfs volledige sets van rules zijn. Zeer krachtig.

Maak nu zelf 2 inhoudstypes aan. Eén die je paswoord beveiligt. De andere om te registreren. Zorg met rules dat je registreert wie er wat wanneer bekijkt..

In een tweede project gaan we andere facetten van Rules bespreken.

We maken een inhoudstype aan: 'Facturen'

Ve veldverzameling zal toelatne om verschillende regels in te vullen.

Een voorbeeldje. Merk op dat het subtotaal (= nog zonder BTW) reeds ingevuld staat. We gaan daarvoor Rules gebruiken.

De gebeurtenissen:

De acties... Eerst zetten we de waarde op 0. Daarna gaan we een lus maken zolang er items zitten in de veldverzameling. We nemen de prijs en voegen die toe aan het totaal.

De loop stel je zo in:

de waarden eerst berekenen:

En daarna aan de waarde toekennen.