2014-12-30 2 views
0

Я передаю массив в параметрах шаблона в sendNewOrderEmail функции Magento как:
Использование Массивы в шаблон электронной почты в Magento

$mailer->setTemplateParams(array(
       'order'  => $this, 
       'billing'  => $this->getBillingAddress(), 
       'payment_html' => $paymentBlockHtml, 
       'sa'   => $someArray // This is an array 
      ) 
     ); 

Но я не в состоянии использовать переменную sa в шаблоне Magento электронной почты. Я пробовал использовать его как {{var sa}} Но по электронной почте я получаю Array вместо содержимого. Как отобразить содержимое массива в письме.

+0

Это зависит от того, что вам нужно. F.E. вы можете закодировать его. '... => json_encode ($ someArray);' – fiction

ответ

1

Вы можете попробовать sa.key где ключ - это ключ в массиве.

Или вы можете объединить этот массив с массивом базовых параметров

+0

Это массив с числовыми индексами. $ someArray [0] ... Как использовать ключ в этом? Как слиться с массивом базовых параметров? извините, я новичок в magento – Sourabh

+0

@Sourabh затем попробуйте переписать этот массив перед вставкой в ​​шаблон. Изменение числовых клавиш на клавиши с префиксом. 'foreach ($ someArray AS $ key => $ value) {$ params [" keys ". $ key] = $ value; } ' – newman

+0

, он будет генерировать ключи как key0, key1..etc. Но как я узнаю, какие ключи использовать, потому что каждый раз нет. элементов в массиве может отличаться. Есть ли способ, с помощью которого мы можем перебирать массив в шаблоне электронной почты magento? – Sourabh

Смежные вопросы