С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/104: Рейтинг темы: голосов - 104, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 22.04.2011
Сообщений: 18

Почтовые шаблоны: доступные поля

19.02.2012, 22:47. Показов 20479. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте) В почтовых шаблонах есть

Доступные поля:
#ORDER_ID# - код заказа
#ORDER_DATE# - дата заказа
#ORDER_USER# - заказчик
#PRICE# - сумма заказа

которые используются в коде шаблона.

Где именно происходит инициализация полей?
Как эти поля можно добавить?
Где и как к почтовым шаблонам прикрепляется таблица стилей?

Заранее спасибо за ответы)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2012, 22:47
Ответы с готовыми решениями:

Почтовые шаблоны
Всем доброго времени суток. Имеется интернет-магазин на платформе 1С: Битрикс. Необходимо настроить, чтобы через 14 дней после...

Доступные поля в почтовом шаблоне (тип почт. соб "Подтверждение подписки")
Добрый день. Есть форма подписки, с рубриками (Новости и Обновление каталога), выбираем рубрику/рубрики, набираем email, нажимаем...

Нужно, чтобы прога вызывала разные шаблоны WORD, в зависимости от значения поля в форме
Нужно, чтобы прога вызывала разные шаблоны WORD, в зависимости от значения поля в форме. Привожу кусок кода: Private Sub...

13
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,946
20.02.2012, 11:06
инициализация происходит в модуле интернет магазина - когда мне пришлось менять почтовый шаблон я сделал инициализацию события в /bitrix/php_interface/init.php - это проще, не сломаешь ничего в стандартном функционале))

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
AddEventHandler("sale", "OnSaleStatusOrder", Array("mail", "OnSaleStatusOrder_mail")); 
class mail
{ 
function OnSaleStatusOrder_mail($ID, $val)
{ 
if ($val == "F")
    {
     // Получаем параметры заказа
     $arOrder = CSaleOrder::GetByID($ID);
     //Получаем свойства заказа
     $db_props = CSaleOrderPropsValue::GetOrderProps($ID);
     // Получаем код статуса заказа
     $arStatus = CSaleStatus::GetByID($val);
     $arStatus_opis = $arStatus["DESCRIPTION"];
     $arStatus = $arStatus["NAME"];
     $EMAIL = "";
     while ($arProps = $db_props->Fetch())
     {
     if($arProps["CODE"] == "EMAIL")
     {
     $EMAIL = $arProps["VALUE"];
     }
     }
     if (strlen($arOrder['ADDITIONAL_INFO'])>0){
        $text = "\n Примечание: \n";
        $text .= " ".$arOrder['ADDITIONAL_INFO'];
       }
    $arEventFields = array(
     "ORDER_ID" => $ID,
     "ORDER_STATUS" => $arStatus,
     "ORDER_DATE" => $arOrder["DATE_INSERT"],
     "EMAIL" => $EMAIL,
     "ORDER_DESCRIPTION" => $arStatus_opis,
     "SALE_EMAIL" => "...@mail.ru",
     "TEXT" => $text,
     );
    CEvent::SendImmediate("SALE_STATUS_CHANGED_F_ZAM", s1, $arEventFields);
    }
вот таким образом - тут же нарисовал, то что мне нужно(правда тут уже простой пользователь не сможет править ничего, но шаблоны уведомления и не тот который меняется каждую неделю), и при получении статуса заказа с ID=F письмо идет мое, а не шаблонное
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 8
22.05.2012, 16:48
странно но у меня не работает в новой версии 1с-битрикса.
а не подскажите полный путь к -
--
Где именно происходит инициализация полей?
Как эти поля можно добавить?
Где и как к почтовым шаблонам прикрепляется таблица стилей?
--
спасибо
0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,946
22.05.2012, 17:11
"инициализация происходит в модуле интернет магазина" - туда лучше не соваться, особенно если возникает такой вопрос где он находится - при правках модуля может накрыться весь сайт. кроме того после обновления ваши правки могут затереться

не работает код у вас возможно из-за того, что именно данный код адаптирован был под мои задачи, для ваших возможно нужны какие-то изменения, в частности:
PHP
1
CEvent::SendImmediate("SALE_STATUS_CHANGED_F_ZAM", s1, $arEventFields);
у вас такое почтовое событие SALE_STATUS_CHANGED_F_ZAM есть? вы его создали? если нет то точно ничего отправлено не будет
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 8
22.05.2012, 17:32
нет конечно
CEvent::SendImmediate("SALE_STATUS_CHANG ED_F_ZAM", s1, $arEventFields); я заменил на свой,
CEvent::SendImmediate("SALE_STATUS_CHANG ED_GG", s1, $arEventFields);

ошибку выдает
Parse error: syntax error, unexpected $end in ***\home\test1.ru\www\bitrix\php_interfa ce\init.php on line 85
85 стока пуста после символа конец файла

так же возможно мешает выше еще один AddEventHandler
или нужно писать как то совместно в 1 эвент?
спасибо

ps
просто спрашиваю пути к файлам не для изменений полных, а посмотреть как эвент обрабатывается

Добавлено через 7 минут
задача стоит
в статусе заказа - SALE_STATUS_CHANGED_G отправлять список заказа ("ORDER_LIST" => $strOrderList,)
по умолчанию битрикс это делать не умеет
0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,946
22.05.2012, 18:08
синтаксическая ошибка говорит о том что где-то не закрыта скобка

чтобы добавить поля "ORDER_LIST" => $strOrderList - вам нужно дополнительно ввести "ORDER_LIST" в переменные в почтовом событии, тогда в шаблоне письма вы сможете использовать эти данные.

я делал по другому:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$strOrderList = "";
$strOrderList .= "<table border=\"0\" width=\"400\" cellpadding=\"5\" style=\"width:100%;font-family:Verdana,sans-serif;font-size:11px;color:#000000;text-align:center;font-weight:bold;\">";
...
$dbBasketItems = CSaleBasket::GetList(
                        array("NAME" => "ASC"),
                        array("ORDER_ID" => $ID),
                        false,
                        false,
                        array("*")
                    );
while (){}
...
$strOrderList .= "<tr style=\"background-color:#EEEEEE;text-align:center;\"><td>".$arBasketItems["NAME"]."</td><td>"...
...
$strOrderList .="</table>";
   $text .= $strOrderList;
соответсвенно "TEXT" => $text,

фактически содержимое письма я написал тут а не через шаблон
1
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 8
23.05.2012, 16:26
спасибо.
буду пробовать
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 8
06.06.2012, 14:50
все вроде работало нормально, но... начала появляться ошибка:
Fatal error: Cannot redeclare class mail in \bitrix\modules\mail\install\index.php on line 152
кто нить встречался?...
p.s.
при попытке зайти в админ. часть выпадает ошибка. Публичная часть сайта работает...
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
06.06.2012, 21:33
PHP
1
2
AddEventHandler("sale", "OnSaleStatusOrder", Array("mail2", "OnSaleStatusOrder_mail")); 
class mail2
Такой класс уже есть в системе. Нужно переименовать свой
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 8
07.06.2012, 12:31
Цитата Сообщение от insideone Посмотреть сообщение
PHP
1
2
AddEventHandler("sale", "OnSaleStatusOrder", Array("mail2", "OnSaleStatusOrder_mail")); 
class mail2
Такой класс уже есть в системе. Нужно переименовать свой
спасибо, помогло...
p.s. только не понятно от куда он системный появился, через 5 дней нормальной работы?
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.06.2012, 09:22
Битриксовые классы подключаются не всегда, а по мере их необходимости. Т.е. в один вызов класс Mail не подключался, а в другой подключался. Это очень коварно, потому что можно не видеть ошибку, тогда как у других она возникает, потому что их запрос как раз попадает на подключение класса.
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 8
08.06.2012, 10:28
Цитата Сообщение от insideone Посмотреть сообщение
Битриксовые классы подключаются не всегда, а по мере их необходимости. Т.е. в один вызов класс Mail не подключался, а в другой подключался. Это очень коварно, потому что можно не видеть ошибку, тогда как у других она возникает, потому что их запрос как раз попадает на подключение класса.
в том то и дело... не ставилось на local вообще ничего из сторонних модулей. вот и не понятно мне ошибка php в конце закрытого файла (модульного, я его не трогал, а ошибки похожи на незакрытые скобки или внезапный $end).
p.s. сам битрикс сильно замудрен (если им не заниматься постоянно), по этому даже в новых версиях (2009г vs 2012) уже нужно перечитывать очень много из мануалов...
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.06.2012, 11:44
не ставилось на local вообще ничего из сторонних модулей
Так не в этом ж дело, может объяснил как-то криво.

Вот псевдокод:

PHP
1
2
3
4
5
6
7
8
// Объявляем класс mail
class mail {};
$a = случайное_число();
if ( $a > 10 )
{
   // объявляем класс mail снова
   class mail {};
}
Заходит Вася. У него случайное число выпадает 5. Второй класс mail не объявляется, все работает как часы.
Заходит Петя. У него случайное число 13. И оба-на, выполняется условие на объявление второго класса mail. И возникает ошибка.

Цитата Сообщение от psa Посмотреть сообщение
ошибки похожи на незакрытые скобки или внезапный $end
Чем?
0
0 / 0 / 0
Регистрация: 08.10.2014
Сообщений: 2
08.10.2014, 17:06
Подскажите где находится вызов почтового события SALE_STATUS_CHANGED_G?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.10.2014, 17:06
Помогаю со студенческими работами здесь

Хранить шаблоны документов в базе и выводить данные в эти шаблоны
Доброго времени суток. Интересует вопрос: мне необходимо формировать вордовские документы по шаблону. У меня создан шаблон документа...

Чем отличаются шаблоны HTML и шаблоны WordPress
В чём различие между шаблонами HTML и WordPress. Кроме того, что создаются они разными способами. Конкретно имею в виду, почему их...

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами». Есть ли разница в этих понятиях? Если есть, то в чём? И где (в каких...

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис)
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем, корни у которых одни, решил создать эту...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, равных 0; 2) сумму элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru