de rules module van drupal
TRANSCRIPT
Drupal GENT: Programmeren zonder code
Door Lennart Van vaerenberghhttps://www.drupal.org/u/lennartvv
Overzicht
• Wat is Rules?
• Conditional Rules
• Components
• Views Rules
• Drupal Commerce toepassingen
• Custom Rules: Zelf triggers, conditions en actions
aanmaken
D7: Stop hooking, start Ruling
Wat is Rules?
Wat is Rules?
De Rules module laat site builders/developers toe
om conditionele acties uit te voeren op
voorkomende events.
Rules is de core module ‘Trigger’…
…on steroids!
Wat is Rules?
Wat is Rules?
Elke module kan zijn eigen events,
conditions en acties toevoegen aan Rules.
Via eenvoudige hooks kan je dit ook zelf
doen.
Wat is Rules?
Configuratie:
admin/config/workflow/rules
(Demo: melding bij inloggen / unpublish new
node / login redirect)
Conditional Rules
Conditional Rules
• Module: rules_conditional
• Wat?
– Staat toe om conditions toe te voegen in de
Rules Action. Out of the Rules box kunnen
conditions enkel aan het ‘Conditions’ blok
toegevoegd worden.
– Structuren als if/else, switch/case en while
kunnen gebruikt worden.
• (Demo: Melding bij inloggen)
Components
Components
• Onderdeel van Rules:
• Wat?:
– Net als een functie met input en output
parameters
– Herbruikbare Rule
– Kan opgeroepen worden in alle andere Rules.• (Demo: block user en verstuur mail)
Views Rules
Views Rules
• Module: views_rules
• Wat?
– Een loop op basis van een
view.
– In elke iteratie kan een actie uitgevoerd worden.
– Een heel specifieke lijst kan via Views
aangeleverd worden (filters in Views ipv
conditions in Rules)• (Demo: Loop over user names na login)
Views Rules
• Hoe?
– Maak een View aan met display type ‘Rules
– Configureer row variables (= de variables waar
Rules toegang tot heeft)
– Een ID als variable zorgt ervoor rules toegang
heeft tot volledig object
– Bij aanmaken van nieuwe Rule: klik op ‘Add
view loop’ om de view te selecteren• (Demo: Loop over user names na login)
Commerce en Rules
Commerce en Rules
• Commerce steunt op rules om de workflow
van bestellingen te beheren.
• Customizen van Commerce => Rules• (Demo: bestaande rules / gratis product toevoegen)
Custom Rules
Custom Rules
• hook_rules_event_info()
• hook_rules_condition_info()
• hook_rules_action_info()
• Toevoegen aan MODULENAME.rules.inc
Rules 101
• Ik vind bepaalde velden niet terug in de data
selector?!
– Voeg een condition toe ‘entity is of bundle’ of
‘entity is of type’ of ‘entity has field’
– Vervolgens komen de (vaak custom) velden ter
beschikking