Drupal-theming: e-mailsjabloon voor meldingen van de Webform-module
De catalogus die we hebben gemaakt met de modules CCK, Taxonomy en Webform maakt het mogelijk om zowel de klant als de sitebeheerder (manager) via e-mail op de hoogte te stellen van een bestelling. Echter, de manager ontvangt in de e-mail alleen de naam van het product, de hoeveelheid en de klantgegevens. Het zou veel handiger zijn als in die e-mail ook meteen een link naar het bestelde product stond.
Momenteel ziet de e-mail die bij een bestelling wordt verzonden er als volgt uit:
Ingediend op dinsdag 16 november 2010 - 15:56 Ingediend door gebruiker: Admin Antwoorden: Naam: Kleurrijk bord Aantal: 1 E-mail: levmyshkin2@mail.ru Adres: Stad Omsk Voorkeuren en opmerkingen: De antwoorden kunnen hier worden bekeken: http://drupal/node/14/submission/1
De sjabloon van deze e-mail kan worden aangepast via de instellingen van het webformulier:
In de instellingen is er een sectie voor het bewerken van de e-mailsjabloon (E-mail template):
Default template: dit is het standaardsjabloon, dat direct in het onderstaande venster kan worden bewerkt.
Custom template: hiermee kun je een sjabloon kiezen uit de map templates
van de module Webform.
Laten we eerst het standaardsjabloon bewerken. Om extra gegevens aan de e-mail toe te voegen, kun je gebruikmaken van Token values — dit zijn variabelen zoals de velden van het formulier, globale sitevariabelen, gebruikersnamen, of zelfs GET
- en POST
-waarden die via sessies worden doorgegeven.
In het veld Included e-mail values kun je aangeven welke velden in de e-mail moeten worden opgenomen.
Om een link naar het bestelde product aan de e-mail toe te voegen, moeten we een veld id toevoegen dat automatisch het ID van het product doorgeeft. In dit veld vullen we standaard de waarde %get[id]
in, en in de link die naar het bestelformulier leidt voegen we de parameter id
toe. Zo krijgt de link naar het bestelformulier de volgende vorm:
<a href="<?php print base_path(); ?>node/14?product=<?php print drupal_get_title(); ?>&id=<?php print arg(1); ?>">Bestel product</a>
Vervolgens moet in de veldinstellingen het bewerken van het veld id worden uitgeschakeld (hetzelfde kan ook voor het veld “naam” worden gedaan).
Bij het plaatsen van een bestelling verschijnt nu in de e-mail een regel met het product-ID.
Link naar product: http://%site/node/%value[id_product]
Hierbij is id_product de machinenaam van het veld voor het product-ID, en %site een variabele die de sitenaam bevat.
Vanaf nu bevat de bestellingsmail ook een directe link naar het product.