Tematizzazione di Drupal: template dell’e-mail di notifica del modulo Webform
Il catalogo che abbiamo creato utilizzando i moduli CCK, Taxonomy e Webform consente di inviare notifiche via e-mail sia al cliente che all’amministratore del sito (o manager) in seguito a un ordine. Tuttavia, al manager l’e-mail contiene solo il nome del prodotto, la quantità e i dati del cliente. Sarebbe molto più comodo se nel messaggio fosse inclusa anche un link diretto al prodotto ordinato.
Attualmente, al momento dell’ordine, l’e-mail ricevuta appare così:
Inviato il martedì, 16 novembre 2010 - 15:56 Inviato da: utente Admin Risposte: Nome del prodotto: Piatto colorato Quantità: 1 E-mail: levmyshkin2@mail.ru Indirizzo: Città di Omsk Preferenze e note: Le risposte possono essere visualizzate qui: http://drupal/node/14/submission/1
È possibile personalizzare il template dell’e-mail anche tramite le impostazioni della webform:
Nelle impostazioni troverai una sezione dedicata alla modifica del modello e-mail (E-mail template):
Default template: permette di scegliere e modificare il modello predefinito direttamente nella finestra di testo sottostante.
Custom template: consente di selezionare un modello personalizzato presente nella cartella templates
del modulo Webform.
Cominciamo modificando il template predefinito. Per aggiungere informazioni al messaggio, possiamo utilizzare i Token values, ovvero variabili che includono i campi del modulo, variabili globali del sito, il nome utente, e persino variabili GET
e POST
per i dati di sessione.
Nel campo Included e-mail values possiamo selezionare quali valori dei campi verranno inseriti nell’e-mail.
Per aggiungere un link al prodotto ordinato, dobbiamo inserire un campo id attraverso il quale venga passato automaticamente l’ID del prodotto. Nel campo ID del prodotto inseriamo di default il valore %get[id]
, e nel link che porta al modulo d’ordine aggiungiamo il parametro id
. Il link per l’ordine del prodotto avrà quindi questa forma:
<a href="<?php print base_path(); ?>node/14?product=<?php print drupal_get_title(); ?>&id=<?php print arg(1); ?>">Ordina il prodotto</a>
Ora dobbiamo disattivare la possibilità di modificare manualmente il campo id
nelle impostazioni del modulo — lo stesso si può fare anche per il campo “nome del prodotto”.
Dopo queste modifiche, nell’e-mail ricevuta comparirà una riga con l’ID del prodotto.
Link al prodotto: http://%site/node/%value[id_product]
Dove id_product
è il nome macchina del campo ID del prodotto, mentre %site
è la variabile che rappresenta il nome del sito.
In questo modo, il messaggio e-mail di notifica dell’ordine conterrà anche un link diretto al prodotto acquistato.