Webforms में ईमेल टेम्पलेट में [सबमिशन: वैल्यूज] का उपयोग कैसे करें


9

मेरे पास वेबफॉर्म 7.x-4.0-अल्फ़ा 6 संस्करण मॉड्यूल सक्षम है।

मेरे पास 20 फॉर्म घटकों के साथ एक वेबफॉर्म नोड है। मैंने ईमेल सेटिंग में एक ईमेल जोड़ा और मैंने वह ईमेल टेम्प्लेट बनाया जहां मैंने टोकन का उपयोग किया था: [सबमिशन: मान]

फिर मैं एक संदेश सबमिट करने वाले वेबफ़ॉर्म का परीक्षण करता हूं। समस्या यह है कि [सबमिशन: मान] बहुत सादे तरीके से घटकों के मूल्यों को प्रिंट करते हैं, प्रत्येक घटक के लिए शीर्षक और मूल्य के बीच अंतर करने के लिए कोई ब्रेक लाइन, कोई अर्धविराम नहीं है । कुछ इस तरह:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

20 घटक होने से ईमेल पूरी तरह से अपठनीय है

मेरा प्रश्न है: क्या उन्हें बेहतर तरीके से प्रिंट करने का एक तरीका (टोकन) है, कम से कम शीर्षक और मूल्य के बीच एक अर्धविराम जोड़कर, और शीर्षक को बोल्ड बनाने के लिए ? या एक तालिका में उत्पादन डाल?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

मुझे पता है कि मैं टोकन का उपयोग करके घटकों को एक अलग तरीके से प्रिंट कर सकता हूं: शीर्षक के लिए [वेबफॉर्म: {घटक} -टाइटल] और मूल्य के लिए [वेबफॉर्म: {घटक} -वल्यू]

और फिर मैं उन्हें स्टाइल कर सकता हूं। लेकिन यह समय बर्बाद कर रहा है क्योंकि मुझे ईमेल टेम्पलेट में दिखाए जाने वाले सभी घटकों की आवश्यकता है

अपडेट: मुझे यह मॉड्यूल मिला, लेकिन इससे मुझे मदद नहीं मिली: http://drupal.org/project/webform_tokens

जवाबों:


10

मुझे ऐसी कोई समस्या नहीं है, लेकिन मुझे पता है, वेबफॉर्म से विशेष मूल्य कैसे प्राप्त करें।

सबमिट किए गए डेटा से वेबफ़ॉर्म टोकन। मूल्य और फ़ील्ड लेबल शामिल है। ?" फ़ील्ड कुंजी " के साथ " " बदलें । " :nolabel" केवल मूल्य के लिए " " जोड़ें ।

तो, आप उपयोग कर सकते हैं [submission:values:?:nolabel], जहां ?आपके घटक की फ़ील्ड कुंजी है।

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

मेरे लिए परिणाम समान है [submission:values]:

नाम: केट
पता: मास्को, रूस :)

वेबफॉर्म संस्करण: 7.x-4.0-अल्फा 6 (7404)।

Webform टोकन मॉड्यूल की आवश्यकता नहीं है।

अपडेट करें

यदि आप HTML मेल का उपयोग कर रहे हैं, तो लेबल आउटपुट होते हैं theme_form_element_labelऔर जैसे दिखते हैं <label>Title</label>\n

आप ओवरराइड कर सकते हैं webform-submission.tpl.php। ईमेल से रेंडर करने के लिए इस फाइल को थीम पर कॉपी करें admin/config/system/mailsystem
जोड़ने के लिए :मैं सिर्फ रेंडर सरणी को संशोधित करने का सुझाव देता हूं:

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

print drupal_render_children($renderable);

लेकिन आप अपने आप को पूरी तरह से प्रतिस्थापन उत्पादन कर सकते हैं।


2
आपने जो कहा वह एक वैध विकल्प है लेकिन मुझे इस पंक्ति को २० बार दोहराना है। मैं एक बार में सभी 20 घटकों को आउटपुट करने के लिए एक लाइन की तलाश में हूं।
शेफेलोन

@chefnelone मैंने अपना उत्तर अपडेट किया।
कलाब्रो

मुझे लगता है कि आप करीब हैं, लेकिन ... मैं सिर्फ $ रेंडर करने योग्य सरणी के लिए dpm फ़ंक्शन का उपयोग करता हूं और अंदर कोई $ आइटम ['# शीर्षक] नहीं है। हो सकता है कि आप वेबफॉर्म संस्करण 3 पर हों। मैं 4 बीटा 6 संस्करण का उपयोग कर रहा हूं। मेरा कब्जा देखो: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
आपका कोड सही है। यह सिर्फ मैं वेबफॉर्म घटकों को नेस्ट कर रहा हूं और if (is_array($item) && !empty($item['#title'])) {इसे काम करने के लिए मुझे इस लाइन को बदलना होगा ।
शेफेलोन

1

वेबफॉर्म के HTML विकल्प के रूप में ई-मेल भेजें का उपयोग करें ।

यह उपलब्ध है यदि आप माइम मेल और मेल सिस्टम मॉड्यूल admin/config/content/webformस्थापित करते हैं, तो HTML में प्रारूप पर जाएं और सेट करें ।


0

यह भी ध्यान दें कि यदि आप ग्रिड घटक का उपयोग कर रहे हैं , तो आपको फ़ील्ड कुंजी और फिर प्रश्न कुंजी दोनों के साथ उस टोकन को कॉल करना होगा। उदाहरण के लिए, यदि आप सर्वेक्षण कर रहे हैं तो ग्रिड का उपयोग अक्सर किया जाता है और प्रत्येक पंक्ति के लिए रेडियो बटन का उपयोग करके लोगों को 1-3 के पैमाने पर कुछ रेट करने के लिए कह रहे हैं, जैसे:

नमूना प्रश्न:

निम्न को 1 = उच्च, 3 = निम्नतम के साथ रैंक करें

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

केवल प्रश्न 2 के उत्तर का मूल्य जानने के लिए, आप उपयोग करेंगे:
बीयर प्रश्न 2 मान था: [प्रस्तुत: मान: my_beer_field: phillips]

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.