Cara menggunakan [pengiriman: nilai] dalam templat Email di Webforms


9

Saya memiliki modul versi Webform 7.x-4.0-alpha6 diaktifkan.

Saya memiliki simpul Webform dengan 20 komponen formulir. Saya menambahkan satu email di Pengaturan Email dan saya membuat templat email tempat saya menggunakan token: [pengiriman: nilai] .

Kemudian saya menguji formulir web yang mengirimkan pesan. Masalahnya adalah bahwa [pengiriman: nilai] mencetak nilai-nilai komponen dengan cara yang sangat sederhana, tidak ada garis putus-putus, tidak ada titik koma untuk membuat perbedaan antara judul dan nilai untuk setiap komponen. Sesuatu seperti:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

Memiliki 20 komponen membuat email benar-benar tidak dapat dibaca

Pertanyaan saya adalah: Apakah ada cara (token) untuk mencetaknya dengan cara yang lebih baik, setidaknya menambahkan tanda titik koma antara judul dan nilai, dan membuat judul menjadi tebal ? atau menempatkan output dalam tabel?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

Saya tahu bahwa saya dapat mencetak komponen secara terpisah menggunakan token: [webform: {component} -title] untuk judul dan [webform: {komponen} -nilai] untuk nilai

Dan kemudian saya bisa menata mereka. Tapi ini membuang-buang waktu karena saya perlu semua komponen ditampilkan di templat email

Pembaruan: Saya menemukan modul ini tetapi tidak membantu saya: http://drupal.org/project/webform_tokens

Jawaban:


10

Saya tidak punya masalah seperti itu, tapi saya tahu, bagaimana mendapatkan nilai khusus dari webform.

Token webform dari data yang dikirimkan. Termasuk label nilai dan bidang. Ganti " ?" dengan " Field Key ". Tambahkan " :nolabel" hanya untuk nilainya.

Jadi, Anda dapat menggunakan [submission:values:?:nolabel], di mana ?kunci bidang komponen Anda.

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

Bagi saya hasilnya sama dengan untuk [submission:values]:

Nama: Kate
Alamat: Moskow, Rusia :)

Versi formulir web: 7.x-4.0-alpha6 (7404).

Modul Token Webform tidak diperlukan.

Memperbarui

Jika Anda menggunakan surat HTML, label dikeluarkan melalui theme_form_element_labeldan terlihat seperti <label>Title</label>\n.

Anda bisa mengganti webform-submission.tpl.php. Salin file ini ke tema untuk merender email admin/config/system/mailsystem.
Untuk menambahkan, :saya sarankan hanya untuk memodifikasi render array:

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

print drupal_render_children($renderable);

Tetapi Anda dapat menghasilkan penggantian sepenuhnya sendiri.


2
apa yang Anda katakan adalah opsi yang valid tetapi saya harus mengulangi set 20 kali ini. Saya mencari satu baris untuk menampilkan semua 20 komponen sekaligus.
chefnelone

@chefnelone saya memperbarui jawaban saya.
kalabro

Saya pikir Anda sudah dekat tapi ... Saya hanya menggunakan fungsi dpm untuk $ renderable array dan tidak ada $ item ['# title'] di dalamnya. Mungkin Anda berada di versi webform 3. Saya menggunakan versi 4 beta6. Lihat tangkapan saya: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
Kode Anda benar. Hanya saja saya bersarang komponen webform dan saya perlu mengubah baris ini if (is_array($item) && !empty($item['#title'])) {untuk membuatnya berfungsi.
chefnelone

1

Gunakan Kirim email sebagai opsi HTML formulir web.

Ini tersedia jika Anda menginstal modul Mime Mail dan Sistem Mail , lalu pergi ke admin/config/content/webformdan mengatur Format ke HTML .


0

Perhatikan juga bahwa jika Anda menggunakan komponen Kotak , Anda harus memanggil token itu dengan kedua Kunci Bidang dan kemudian kunci pertanyaan. Kotak sering digunakan jika Anda melakukan survei, misalnya dan meminta orang untuk menilai sesuatu pada skala 1-3, menggunakan tombol radio untuk setiap baris, seperti:

Pertanyaan sampel:

Beri peringkat berikut dengan 1 = tinggi, 3 = terendah

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

Untuk mencetak nilai jawaban pertanyaan 2 saja, Anda akan menggunakan: Nilai
Pertanyaan bir 2 adalah: [pengiriman: nilai: my_beer_field: phillips]

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.