logo

Extra Block Types (EBT) - Nieuwe Layout Builder ervaring❗

Extra Block Types (EBT) - gestileerde, aanpasbare bloktypes: Slideshows, Tabs, Cards, Accordions en vele andere. Ingebouwde instellingen voor achtergrond, DOM Box, javascript-plugins. Ervaar vandaag al de toekomst van layout building.

Demo EBT-modules Download EBT-modules

❗Extra Paragraph Types (EPT) - Nieuwe Paragraphs ervaring

Extra Paragraph Types (EPT) - analoge op paragrafen gebaseerde set modules.

Demo EPT-modules Download EPT-modules

Scroll

Drupal-module WebForm. Een bestelformulier aanmaken.

14/10/2025, by Ivan

Laten we terugkeren naar onze productcatalogus die we in een van de vorige lessen hebben gemaakt. De catalogus wordt succesvol gevuld en weergegeven, maar het bestellen van een product via het contactformulier is nogal onhandig — je moet de naam en productcode kopiëren, ze vervolgens in het formulier plakken en een bericht schrijven. Laten we een formulier maken dat het bestelproces vereenvoudigt. Hiervoor hebben we de module Webform nodig, die wordt gebruikt voor het maken van formulieren in Drupal. Via dit formulier zullen we de productnaam en hoeveelheid doorgeven; als je ook de productcode wilt doorgeven, kun je dat op vergelijkbare wijze doen.

Download en installeer de module Webform.

Na installatie verschijnt er een nieuw contenttype: Webform. Maak een nieuw item van het type Webform en noem het bijvoorbeeld Bestelformulier (of kies een andere naam die je handig vindt). Na het aanmaken word je doorgestuurd naar de configuratiepagina van de webformulierinhoud.

We moeten twee velden aanmaken: één voor de productnaam en één voor de hoeveelheid. Hiervoor gebruiken we twee tekstvelden (textfield).

In het veld voor de productnaam vul je in: %get[product]

Drupal webform

Voor het veld hoeveelheid stellen we de standaardwaarde in op “1”.

Voeg ook een tekstveld toe voor het e-mailadres en een tekstgebied (text area) voor opmerkingen of wensen van klanten.

%get[product] werkt op dezelfde manier als de PHP-variabele $_GET['product'], die een waarde uit de URL ophaalt.

Het formulier is klaar. Nu moeten we een link naar dit formulier maken, waarbij we ook de parameter product toevoegen aan de URL om de productnaam door te geven. We plaatsen deze link in een apart blok dat onderaan elke productnode wordt weergegeven.

Om de volgende stappen uit te voeren, moet de ingebouwde module PHP filter worden ingeschakeld. Deze module maakt het mogelijk om PHP-code rechtstreeks in een blok of inhoud te gebruiken. Na het inschakelen van deze module verschijnt er een nieuw invoerformaat: PHP code.

Maak een nieuw blok aan en selecteer als invoerformaat “PHP code”. Plaats de volgende code in het blok:

<a href="<?php print base_path(); ?>node/6?product=<?php print drupal_get_title(); ?>">Product bestellen</a>

waarbij node/6 het adres is van de node van het bestelformulier.

De functie drupal_get_title() geeft de titel van de huidige node terug — in ons geval is dat de productnaam. De functie base_path() geeft het pad naar de hoofdmap van de website terug (bijvoorbeeld drupalbook.org/). Plaats het blok nu in de regio Content en stel de zichtbaarheid in op PHP-modus met de volgende code:

$types['tovar'] = 1;
$match = false;
if ((arg(0) == 'node') && is_numeric(arg(1))) {
  $node = node_load(arg(1)); 
  $match = isset($types[$node->type]); 
} 
return $match; 

Hier is tovar de machine-naam van het contenttype “Product”.

Ons bestelformulier is nu klaar.