Значит дошел до статусов.
Как я понял вот массив с данным что передается в письмо в файле _notification.php
$param = array();
$param["order_id"] = $order->id;
$param["order_name"] = $order->name;
$param["order_number"] = $order->number;
$param["status"] = $statusString;
И есть в папке tpls/emarket/mail/default.tpl
$FORMS['status_notification'] = <<<END
Добрый день,
Бла бла бла.
Номер заказа #%order_number%
END;
Но мне 4-ёх параметров мало . Я хочу еще в письме указать, адрес доставки что указал человек, товар который он заказал и его контактные данные.
Как их добавить в мой выше массив $param. ?
создайте еще param["new_data"] = $new_data в /classes/modules/emarket/__notification.php а в шаблоне tpls/emarket/mail/default.tpl сделайте вывод
$FORMS['status_notification'] = <<<END
Добрый день,
Бла бла бла. %new_data%
Номер заказа #%order_number%
END;
по поводу того как получить данные из заказа, там есть одна заковыкра. В функциях файла /classes/modules/emarket/__notification.php данные вытягиваются преимущественно из объекта $order ($order->name, $order->payment_id), но этот объект $order не содержит в себе все поля Заказа, а является как-бы урезанной копией, так что если хотите вытянуть значение любого поля данного заказа вначале переопределите объект заказа
$full_order = umiObjectsCollection::getInstance()->getObject($order->id);
$delivery_address_id = $full_order ->delivery_address;
if($delivery_address_id) {
$delivery_address = umiObjectsCollection::getInstance()->getObject($delivery_address_id);
if($delivery_address) {
$delivery_address_index = $delivery_address->index;
$delivery_address_city = $delivery_address->city;
// и так далее вытягиваете значение нужных вам полей
}
код писал налету, так что отсутствие ошибок не гарантирую, но принцип такой
в версии 2.8.5 сделали свой шаблонизатор xslt'ый , поэтому просто использовать tpl шаблон письма не получается. Но у меня вопрос не затрагивал новый механизм, я использую скрипт, который формирует все что может понадобиться для письма. Достаточно кастомный и не выглаженный, но суть в том что для версии 2.8.5 его пришлось немного модифицировать. Пришлось перед началом работы с tpl шаблоном, по которому формируется письмо насильно отключить xslt режим шаблонизатора, а в конце функцции вернуть все обратно
примерно вот так это выглядело
public function example(){
....
$xslTemplater = xslTemplater::getInstance();
$xslInited = $xslTemplater->setIsInited(false);
list($template) = def_module::loadTemplates("tpls/emarket/mail/custom_default.tpl", "neworder_notification");
...
$xslTemplater->setIsInited($xslInited);
}