क्या ईमेल टेम्प्लेट में फ़ॉरच लूप जोड़ने का कोई तरीका है?


10

मैं ऑर्डर देने के बाद ग्राहक को एक मेल भेजने की कोशिश कर रहा हूं। यह ईमेल ऑर्डर किए गए उत्पादों के सभी क्रॉस सेल उत्पादों को ले जाएगा।

मैंने संदर्भ के रूप में निम्नलिखित लिंक का उपयोग किया:

घटना पर्यवेक्षक का उपयोग करके ईमेल भेजें

उन्नत लेनदेन ईमेल टेम्पलेट्स

सब अच्छा काम कर रहा है।

लेकिन अब मेरा संदेह है, क्या मैं स्थानीय निर्देशिका के अंदर डाली गई html फ़ाइल के अंदर foreach पाश का उपयोग कर पाऊंगा ?

ताकि मैं मेल टेम्पलेट में सभी उत्पाद जानकारी को पुन: प्रकाशित और प्रिंट कर सकूं। क्या कोई मदद कर सकता है?

जवाबों:


21

मुझे लगता है कि ईमेल में सीधे फॉरच लूप का प्रदर्शन करना संभव नहीं है, लेकिन आप जो कर सकते हैं उसमें एक ब्लॉक शामिल है जो एक नियमित टेम्पलेट में लूप करेगा।

आप ईमेल में निम्नलिखित की तरह कुछ जोड़ें।

{{block type='core/template' area='frontend' template='email/template.phtml' items=$items}}

फिर अपने टेम्पलेट में निम्नलिखित जोड़ें।

<?php foreach ($this->getItems() as $_item): ?>
    <p><?php echo $_item['name'] ?></p>
<?php endforeach; ?>

अधिक जानकारी के लिए मैंने इस ब्लॉग का अनुसरण किया


हां मैं वास्तव में यह कोशिश कर रहा था। 2 मिनट में यह स्वीकार करेंगे
शतीश

क्या हमें ईमेल टेम्पलेट के अंदर इस ब्लॉक को जोड़ना है? और क्या यह समझ में आएगा items=$items? जैसा $itemsकि php वेरिएबल है।
अक्षय तरु

नमस्ते, मैंने ऊपर कोशिश की मेरे लिए काम नहीं कर रहा। किसी भी सुझाव
अक्षय तरु

0

वास्तव में आप ईमेल में लूप के लिए उपयोग कर सकते हैं। मैंने इसे 2.3.3 संस्करण पर परीक्षण किया है। यह निरीक्षण करने के लिए कोड स्थान है। यह टेम्प्लेट में कैसा दिखता है:

<ul>
  {{for item in data.items}}
     <li>Name: {{var item.name}}</li>
  {{/for}}
</ul>

परिवहन जानकारी:

$this->transportBuilder->setTemplateVars(
[
 'items' => [
              ['name' => 'Product1'],
              ['name' => 'Product2']
            ]
...

एक तरफ। 2.3.4 में कोड था पुनर्संशोधित , लेकिन मेरा मानना है कि यह अभी भी रूप में यह निकाला नहीं गया था काम करना चाहिए। कृपया याद रखें कि Magento ने इस संस्करण के रूप में ऑब्जेक्ट्स पर फ़ंक्शन को कॉल करने की क्षमता को हटा दिया है, इसलिए आपका order->getItems()फ़ंक्शन काम नहीं कर सकता है।

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