Как перебрать переменные в шаблоне электронной почты Magento? - PullRequest
3 голосов
/ 21 апреля 2011

Допустим, у меня есть следующие переменные для передачи в мой шаблон электронной почты:

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

Где $products - это коллекция, как я могу перебрать эту коллекцию в шаблоне электронной почты?

Ответы [ 2 ]

5 голосов
/ 21 апреля 2011

Я не верю, что шаблонизатор Magento достаточно умен, чтобы делать циклы.Вместо этого используйте встроенный блок, как это делает Magento для элементов заказа.Примерно так:

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

Надеюсь, это поможет!

Спасибо, Джо

1 голос
/ 23 июня 2012

Вышеприведенное работает, но альтернативой может быть то, что ваш 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>

Полагаю, главное отличие в том, где вы выполняете большую часть своей "работы" с электронной почтой. Я использовал этот метод для загрузки в колонтитулы электронной почты, которые остаются одинаковыми в каждом шаблоне. Однако предыдущий ответ, вероятно, проще для базовых задач.

...