Отсутствует параметр $ template в электронных письмах - PullRequest
0 голосов
/ 27 февраля 2020

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

$file_attachement = null; 
Mail::Send( (int)$email_order->id_lang, 
'order_conf', 
Mail::l('Order confirmation', (int)$email_order->id_lang), 
null, 
$email_customer->email, 
$email_customer->firstname.' '.$email_customer->lastname, 
null, 
null, 
$file_attachement, 
null, 
_PS_MAIL_DIR_, false, (int)$email_order->id_shop );

И я получаю следующую ошибку

Missing '$template' parameter...smarty_internal_templatebase.php on line 177

order_conf существует, и я могу посмотреть на Advanced Parameters->Email и увидеть, что он пытается отправить.

Prestashop Версия 1.7.5.1

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Письма шаблонные. Вы должны передать данные для механизма шаблонов.

Ваш параметр данных равен нулю.

<?php

$file_attachement = null; 
Mail::Send(
    (int)$email_order->id_lang, 
    'order_conf', 
    Mail::l('Order confirmation', (int)$email_order->id_lang), 
    $YOUR_DATA_ARRAY_NOT_NULL, 
    $email_customer->email, 
    $email_customer->firstname.' '.$email_customer->lastname, 
    null, 
    null, 
    $file_attachement, 
    null, 
    _PS_MAIL_DIR_, false, (int)$email_order->id_shop );

?>

Вы можете получить представление о том, как получить эти данные из исходного кода Prestashop

0 голосов
/ 28 февраля 2020

Если вы используете какую-либо тему, попробуйте скопировать шаблоны электронной почты (для каждого языка) в почтовый каталог темы.

...