Come utilizzare [invio: valori] nel modello e-mail nei moduli Web


9

Ho il modulo versione Webform 7.x-4.0-alpha6 abilitato.

Ho un nodo Webform con 20 componenti del modulo. Ho aggiunto un'e-mail in Impostazioni e-mail e ho creato il modello e-mail in cui ho usato il token: [invio: valori] .

Quindi collaudo il modulo web inviando un messaggio. Il problema è che [submission: valori] stampa i valori dei componenti in modo molto semplice, nessuna linea di interruzione, nessun punto e virgola per fare la differenza tra il titolo e il valore per ciascun componente. Qualcosa di simile a:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

Avere 20 componenti rende l'e-mail completamente illeggibile

La mia domanda è: c'è un modo (un token) per stamparli in un modo migliore, almeno aggiungendo un punto e virgola tra il titolo e il valore e rendendo il titolo in grassetto ? o mettere l'output in una tabella?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

So che posso stampare i componenti in modo separato usando i token: [webform: {component} -title] per il titolo e [webform: {component} -value] per il valore

E poi posso modellarli. Ma questo è uno spreco di tempo poiché ho bisogno di mostrare tutti i componenti nel modello di email

Aggiornamento: ho trovato questo modulo ma non mi aiuta: http://drupal.org/project/webform_tokens

Risposte:


10

Non ho questo problema, ma so come ottenere valori speciali dal modulo web.

Token del modulo Web dai dati inviati. Include il valore e l'etichetta del campo. Sostituisci " ?" con " Field Key ". Aggiungi " :nolabel" solo per il valore.

Quindi, puoi usare [submission:values:?:nolabel], dove ?è la chiave di campo del tuo componente.

 Name: [submission:values:name:nolabel]
 Address: [submission:values:address:nolabel]

Per me il risultato è lo stesso di [submission:values]:

Nome: Kate
Indirizzo: Mosca, Russia :)

Versione webform: 7.x-4.0-alpha6 (7404).

Il modulo token Webform non è necessario.

Aggiornare

Se si utilizza la posta HTML, le etichette vengono emesse tramite theme_form_element_labele sembrano <label>Title</label>\n.

Puoi scavalcare webform-submission.tpl.php. Copia questo file sul tema per il rendering delle e-mail da admin/config/system/mailsystem.
Per aggiungere :suggerisco solo di modificare l'array di rendering:

if ($format == 'html') {
  foreach ($renderable as $i => $item) {
    if (is_array($item) && !empty($item['#title'])) {
      $renderable[$i]['#title'] .= ':';
    }
  }
}

print drupal_render_children($renderable);

Ma puoi produrre sostituzioni completamente da solo.


2
quello che hai detto è un'opzione valida ma devo ripetere questa riga impostata 20 volte. Sto cercando una riga per produrre tutti e 20 i componenti contemporaneamente.
Chefnelone,

@chefnelone Ho aggiornato la mia risposta.
Kalabro,

Penso che tu sia vicino ma ... Uso solo la funzione dpm per l'array $ renderable e non ci sono $ item ['# title'] all'interno. Forse sei nella versione 3 del modulo web Sto usando la versione 4 beta6. Guarda la mia cattura: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
Il tuo codice è giusto. Sto solo annidando i componenti del modulo web e dovrò cambiare questa linea if (is_array($item) && !empty($item['#title'])) {per farlo funzionare.
Chefnelone,

1

Utilizzare Invia e-mail come opzione HTML del modulo web.

Questo è disponibile se installi i moduli Mime Mail e Mail System , quindi vai a admin/config/content/webforme imposta il formato su HTML .


0

Si noti inoltre che se si utilizza un componente Grid , è necessario chiamare quel token sia con il tasto campo che con il tasto domanda. Le griglie vengono spesso utilizzate se stai effettuando un sondaggio, ad esempio, e stai chiedendo alle persone di valutare qualcosa su una scala 1-3, utilizzando i pulsanti di opzione per ogni riga, come ad esempio:

Domanda di esempio:

Classifica il seguente con 1 = alto, 3 = più basso

+---------------+-----+-----+-----+
|   Breweries   |  1  |  2  |  3  |
+---------------+-----+-----+-----+
| Lighthouse    | [o] | [o] | [o] |
| Phillips      | [o] | [o] | [o] |
| Whistler      | [o] | [o] | [o] |
+---------------+-----+-----+-----+

Per stampare il valore della risposta della sola domanda 2, devi usare:
Il valore della domanda 2 della birra era: [submission: valori: my_beer_field: phillips]

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.