logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri

Drupal Modulo WebForm. Creazione di un modulo d’ordine prodotto

14/10/2025, by Ivan

Torniamo al nostro catalogo prodotti, che abbiamo realizzato in una delle lezioni precedenti. Il catalogo è già ben popolato e si visualizza correttamente, ma ordinare un prodotto tramite il modulo di contatto è piuttosto scomodo: bisogna copiare il nome del prodotto, il codice, incollarli nel modulo e scrivere un messaggio. Creiamo quindi un modulo che semplifichi il processo di ordine. Per questo ci servirà il modulo Webform, utilizzato per la creazione di moduli in Drupal. Tramite questo modulo invieremo il nome del prodotto e la quantità desiderata; se ti serve anche il codice prodotto, puoi trasmetterlo allo stesso modo.

Scarica e installa il modulo Webform.

Dopo l’installazione, apparirà un nuovo tipo di contenuto Webform. Crea un contenuto di tipo Webform e chiamalo, ad esempio, Modulo d’ordine prodotto (o come preferisci). Dopo la creazione verrai reindirizzato alla pagina di configurazione della webform.

Ora dobbiamo creare due campi: uno per il nome del prodotto e uno per la quantità. Per farlo, aggiungiamo due campi di tipo textfield (campo di testo).

Nel campo per il nome del prodotto inserisci %get[product].

Drupal webform

Nel campo della quantità imposta come valore predefinito “1”.

Aggiungiamo anche un campo di testo per l’indirizzo e-mail e un’area di testo per eventuali note o preferenze del cliente.

%get[product] è analogo alla variabile PHP $_GET['product'], che riceve il valore passato nell’URL.

Il modulo è pronto. Ora dobbiamo creare un link che punti a questo modulo, includendo un parametro product nell’URL contenente il nome del prodotto. Creeremo questo link come blocco separato da visualizzare in fondo al nodo di ogni prodotto.

Per le prossime operazioni dobbiamo attivare il modulo integrato PHP Filter, che consente di inserire codice PHP direttamente in un blocco o in un contenuto. Dopo averlo attivato, apparirà un nuovo formato di input chiamato PHP code.

Creiamo un nuovo blocco e scegliamo il formato di input PHP code. Nel testo del blocco inseriamo il seguente codice:

<a href="<?php print base_path(); ?>node/6?product=<?php print drupal_get_title(); ?>">Ordina il prodotto</a>

dove node/6 è l’indirizzo del nodo contenente la webform per l’ordine.

La funzione drupal_get_title() restituisce il titolo del nodo — nel nostro caso, il nome del prodotto — mentre base_path() restituisce il percorso alla root del sito (ad esempio drupalbook.org/). Ora posizioniamo il blocco nella regione “Contenuto” (Content) e impostiamo la visibilità del blocco in modalità PHP con il seguente codice:

$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; 

Qui tovar è il nome macchina del tipo di contenuto “Prodotto”.

Il nostro modulo d’ordine prodotto è pronto.