Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Изменение почтового шаблона

00 голосов
5
Помогите, пожалуйста, кто может!

Пытаюсь изменить почтовый шаблон писем, которые приходят в Отдел продаж при совершении заказа.
Как сделать так, чтобы можно было в этом письме увидеть телефон заказчика?
Телефон заказчик прописывает как "свойство заказа" из группы свойств "адрес доставки". Свойство имеет мнемонический код PHONE. В типе почтовых событий шаблона я указала этот параметр как #PHONE#.
Подскажите, где на сервере каталог с почтовыми шаблонами?
спросил 19 Дек, 13 от KAN155 (160 баллов)

5 Ответы

00 голосов
Цитата
Анастасия Г. пишет:
Подскажите, где на сервере каталог с почтовыми шаблонами?

Рабочий стол -> Настройки -> Настройки продукта -> Почтовые события -> Почтовые шаблоны
ответил 03 Март, 14 от Almarea (3,760 баллов)
00 голосов
Вам тут не поможет каталог с почтовыми шаблонами.

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

Вам нужно это свойство передавать в массив параметров события.

$arEventFields = array(
"PHONE" => "гоги",
);

CEvent::Send("SOME_EVENT", SITE_ID, $arEventFields);

Вот теперь будет доступен макрос #PHONE#.

Ну это в случае написания собственной компоненты или модификации кода старой.

Можно также воспользоваться событиями для модификации $arEventFields.
ответил 22 Июнь, 14 от Incubus (580 баллов)
00 голосов
Это я знаю :) Я сделала следующее. В типе почтового события указала #PHONE# - Телефон заказчика.
В шаблоне тоже указала - Телефон заказчика:#PHONE#
Насколько я понимаю в почтовом событии не описано, что такое PHONE, поэтому при отправке письма оно так в виде #PHONE# и присылается.
В каком месте и как нужно изменить почтовое событие, чтобы телефон тоже передавался как параметр?
ответил 22 Окт, 14 от KAN155 (160 баллов)
00 голосов
Цитата
Анастасия Г. пишет:
В каком месте и как нужно изменить почтовое событие, чтобы телефон тоже передавался как параметр?

Цитата
Александр Егжанов пишет:
Ну это в случае написания собственной компоненты или модификации кода старой.
Можно также воспользоваться событиями для модификации $arEventFields.

Читайте внимательнее что вам пишут. Чтобы этот макрос был доступен в шаблоне, его нужно передать в обработчик события, т.е. в массив arFields, как сказал Александр Егжанов.
ответил 21 Фев, 15 от Almarea (3,760 баллов)
00 голосов
Цитата
Анастасия Г. пишет:
Это я знаю

Не понял немножко к чему это.

В общем так, копируйте компоненту, отвечающую за заказ в магазине, в собственное пространство имен. Заходите в файл component.php скопированой компоненты. Обязательно меняете пространство имен при вызове этой компоненты на странице заказа. Потом ищите там приблизительно следующий код:

Код
$arFields = Array
(
     "ORDER_ID" => $arResult["ORDER_ID"],
);
$event->Send("SALE_NEW_ORDER", SITE_ID, $arFields, "N");


Заменяете его на приблизительно такой
Код
$arFields = Array
(
     "ORDER_ID" => $arResult["ORDER_ID"],
     "PHONE"    => $arResult["PHONE"]
);
$event->Send("SALE_NEW_ORDER", SITE_ID, $arFields, "N");


Все.

Второй вариант!

Удаляете из Рабочий стол -> Настройки -> Настройки продукта -> Почтовые события событие SALE_NEW_ORDER.
Создаем новое событие SALE_NEW_ORDER_GOGY.

Добавляем в \bitrix\php_interface\init.php обработчик события OnOrderAdd

Примерно так буит:

Код
#init.php

AddEventHandler("sale", "OnOrderAdd", "handler");

function handler($arFields)
{
    $eventArFields = Array
    (
     "ORDER_ID" => $arFields["ORDER_ID"],
     "PHONE"    => $arFields["PHONE"]
     );

    $event->Send("SALE_NEW_ORDER_GOGY", SITE_ID, $eventArFields , "N");         
}
ответил 31 Май, 15 от Incubus (580 баллов)

Похожие вопросы

0 голосов
9 ответов
0 голосов
3 ответов
спросил 15 Март, 13 от Snezhka (2,240 баллов)
0 голосов
0 ответов
спросил 29 Дек, 13 от Fierce88 (440 баллов)
0 голосов
3 ответов
спросил 02 Дек, 13 от 4ydo (100 баллов)
0 голосов
6 ответов
спросил 03 Сен, 13 от Dushan (120 баллов)