如何循环访问 Magento 电子邮件模板中的变量?
假设我有以下变量要传递到我的电子邮件模板:
$vars = array(
'products' => $products,
);
其中 $products
是一个集合,我如何在电子邮件模板中迭代此集合?
Let's say I've the following variables to pass to my Email Template:
$vars = array(
'products' => $products,
);
Where $products
is a collection, how could I iterate over this collection in Email template?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不相信 Magento 的模板引擎足够聪明来执行循环。相反,请使用内联块,就像 Magento 对订单项所做的那样。像这样:
希望有帮助!
谢谢,
乔
I don't believe that Magento's templating engine is clever enough to do loops. Instead, use an inline block, as Magento does for order items. Something like this:
Hope that helps!
Thanks,
Joe
上面的方法有效,但另一种方法是让您的 XML 通过调用电子邮件模板中的布局句柄来完成工作:
在您的 local.xml 或 module.xml 中或您喜欢的任何地方:
我想主要区别在于您的位置您正在完成大部分电子邮件“工作”。我已使用此方法加载电子邮件页眉/页脚,这些页眉/页脚在每个模板中保持相同。然而,对于基本任务来说,前面的答案可能更简单。
The above works, but an alternative would be to let your XML do the work by calling the layout handle in the email template:
In your local.xml or module.xml or where ever you like:
I guess the main difference is where you're doing most of your email "work". I've used this method for loading in email headers/footers that stay the same in each template. The previous answer is likely simpler for basic tasks, however.