如何在Magento电子邮件模板中循环变量?

时间:2011-04-21 11:02:05

标签: email templates loops magento iteration

假设我将以下变量传递给我的电子邮件模板:

$vars = array(
    'products'  => $products,
);

$products是一个集合,我怎么能在电子邮件模板中迭代这个集合?

2 个答案:

答案 0 :(得分:5)

我不相信Magento的模板引擎足够聪明来做循环。相反,使用内联块,就像Magento对订单商品所做的那样。像这样:

{{block type='core/template' area='frontend' template='path/to/your/template.phtml' products=$products}}

希望有所帮助!

谢谢, 乔

答案 1 :(得分:1)

上述工作,但另一种方法是让你的XML通过调用电子邮件模板中的布局句柄来完成工作:

{{layout handle="email_stuff"}}

在local.xml或module.xml中或您喜欢的地方:

<email_stuff>
    <block type="yourblock/type" name="email_stuff" template="path/to/template.phtml" />
</email_stuff>

我猜主要区别在于你在做大部分电子邮件“工作”。我已经使用此方法加载在每个模板中保持相同的电子邮件页眉/页脚。但是,之前的答案对于基本任务来说可能更简单。