Webforms'taki E-posta şablonunda [gönderim: değerler] nasıl kullanılır?


9

Webform 7.x-4.0-alpha6 sürüm modülünü etkinleştirdim.

20 Form bileşenleri ile bir Webform düğümü var. E-posta Ayarına bir e-posta ekledim ve [submission: value] belirtecini kullandığım e-posta şablonunu oluşturdum .

Sonra mesaj göndererek web formunu test ediyorum. Sorun [gönderim: değerler] her bir bileşenin başlığı ve değeri arasında bir fark yaratmak için bileşen değerlerini çok düz bir şekilde, kesme çizgisi yok, noktalı virgül kullanmıyor . Gibi bir şey:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

20 bileşene sahip olmak e-postayı tamamen okunamaz hale getirir

Benim sorum: En azından başlık ve değer arasına noktalı virgül ekleyerek ve başlığı kalın yaparak daha iyi bir şekilde yazdırmanın bir yolu (jeton) var mı? veya çıktı bir tabloya koymak?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

Başlık için [webform: {component} -title] ve değer için [webform: {component} -value] belirteçlerini kullanarak bileşenleri ayrı bir şekilde yazdırabileceğimi biliyorum.

Ve sonra onları şekillendirebilirim. Ancak, tüm bileşenlerin e-posta şablonunda gösterilmesine ihtiyaç duyduğum için zaman kaybı

Güncelleme: Bu modülü buldum ancak bana yardım etmiyor: http://drupal.org/project/webform_tokens

Yanıtlar:


10

Böyle bir sorunum yok, ama biliyorum ki webformdan nasıl özel değerler elde edebilirim.

Gönderilen verilerden web formu belirteçleri. Değer ve alan etiketini içerir. " ?" Yerine " Alan Anahtarı " yazın. :nolabelYalnızca değer için " " ekleyin .

Böylece, bileşeninizin alan anahtarını [submission:values:?:nolabel]nerede kullanabilirsiniz ?.

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

Benim için sonuç şununla aynıdır [submission:values]:

Adı: Kate
Adres: Moskova, Rusya :)

Webform sürümü: 7.x-4.0-alpha6 (7404).

Webform Tokens modülü gerekli değildir.

Güncelleme

HTML posta kullanıyorsanız, etiketler üzerinden gönderilir theme_form_element_labelve benzer görünür <label>Title</label>\n.

Geçersiz kılabilirsiniz webform-submission.tpl.php. Bu dosyayı e-postaları oluşturmak için temaya kopyalayın admin/config/system/mailsystem.
Eklemek için :sadece render dizisini değiştirmenizi öneririm:

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

print drupal_render_children($renderable);

Ancak ikameleri tamamen kendiniz yapabilirsiniz.


2
söyledikleriniz geçerli bir seçenektir ancak bu satırı 20 kez tekrarlamalıyım. Tüm 20 bileşeni bir kerede çıkarmak için bir satır arıyorum.
chefnelone

@chefnelone Cevabımı güncelledim.
kalabro

Sanırım yakın ama ... Ben sadece $ renderable dizi için dpm işlevini kullanın ve içinde hiçbir $ madde ['# başlık'] yoktur. Belki webform 3 sürümündesiniz. 4 beta6 sürümünü kullanıyorum. Yakalamama bak: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
Kodunuz doğru. Sadece webform bileşenlerini iç içe geçiriyorum ve if (is_array($item) && !empty($item['#title'])) {çalışmasını sağlamak için bu satırı değiştirmem gerekecek .
chefnelone

1

Web formunun HTML olarak e-posta gönder seçeneğini kullanın.

Eğer yüklerseniz bu kullanılabilir Mim Posta ve Posta Sistemi , sonra modülleri gidin admin/config/content/webformve set Format için HTML .


0

Ayrıca, bir Grid bileşeni kullanıyorsanız , bu jetonu hem Alan Anahtarı hem de soru anahtarıyla çağırmanız gerektiğini unutmayın. Örneğin, bir anket yapıyorsanız ızgaralar sıklıkla kullanılır ve insanlardan her bir satır için radyo düğmelerini kullanarak 1-3 ölçeğinde bir şey derecelendirmelerini ister:

Örnek Soru:

Aşağıdakileri 1 = yüksek, 3 = en düşük ile sıralayın

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

Sadece soru 2'nin cevabının değerini yazdırmak için şunları kullanırsınız:
Bira Soru 2 değeri: [gönderim: değerler: my_beer_field: phillips]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.