E-posta şablonuna foreach döngüsü eklemenin bir yolu var mı?


10

Sipariş verdikten sonra müşteriye bir posta tetiklemeye çalışıyorum. Bu e-posta, sipariş edilen ürünlerin tüm çapraz satış ürünlerini taşıyacaktır.

Referans olarak aşağıdaki bağlantıları kullandım:

olay gözlemcisini kullanarak e-posta gönder

Gelişmiş İşlemsel E-posta Şablonları

Her şey iyi çalışıyor.

Ama şimdi benim şüphe, ben yerel ayar dizininin içine koymak html dosyası içinde foreach döngü kullanabilirsiniz ?

Böylece posta şablonundaki tüm ürün bilgilerini tekrarlayabilir ve yazdırabilirim. Biri yardım edebilir mi?

Yanıtlar:


21

E-postalarda doğrudan bir foreach döngüsü gerçekleştirmek mümkün olmadığını düşünüyorum, ama ne yapabilirim döngü normal bir şablonda döngü yapacak bir blok içerir.

E-postanıza aşağıdaki gibi bir şey ekleyin.

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

Ardından şablonunuza aşağıdakileri ekleyin.

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

Daha fazla bilgi için bu blogu takip ettim


Ya aslında bunu deniyordum. bunu 2 dakika içinde kabul edecek
Shathish

Bu bloğu e-posta şablonuna eklememiz gerekiyor mu? Ve anlayacak items=$itemsmı? Gibi $itemsphp değişkendir.
Akshay Taru

Merhaba, yukarıda benim için çalışmıyor denedim. Herhangi bir öneri
Akshay Taru

0

Aslında e-postalarda for döngüsü kullanabilirsiniz. 2.3.3 sürümünde test ettim. Bu, incelenecek kod konumudur . Şablonda şöyle görünür:

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

Ulaşım bilgileri:

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

Kenara. 2.3.4 kod yeniden düzenlenmiş , ama hala kaldırılmadı gibi çalışması gerektiğini düşünüyorum. Magento'nun bu sürümden itibaren nesneler üzerindeki işlevleri çağırma yeteneğini kaldırdığını unutmayın, bu nedenle order->getItems()işleviniz çalışmayabilir.

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.