Сегодня узнаем, как устроены и работают макросы в почтовом шаблоне формы обратной связи в ручном и автоматическом режиме.
С 2012 года многое изменилось в модуле, а в недавних обновлениях еще и добавилась возможность задавать полям атрибут name
, что дает модулю больше возможностей, больше воздуха.
Благодаря такой возможности теперь можно записывать в свойства инфоблока с одноименным кодом значения полей типа строка или число, а также выводить в почтовом шаблоне значения полей по коду из атрибута @name=КОД ПОЛЯ
Макросы в почтовом шаблоне
Почтовые шаблоны Битрикс хранятся в админке здесь, каждый из них прикреплен к какому-нибудь модулю или компоненту, или даже php-коду в файле.
Почтовые шаблоны необходимы для оформления писем, которые будут отправляться на почту, в виде текста или html.
В настройках компонента обратной связи есть опция, где вы привязываете соответствующий модулю почтовый шаблон, как администратора, так и пользователя.
Будем считать, то компонент обратной связи полностью настроен, выводится какая-то форма на сайте, вы заполняете поля, нажимаете кнопку Отправить, заполненные Вами данные формы обрабатываются, подключается заданный в настройках компонента почтовый шаблон, заполняются все макросы почтового шаблона и отправляется письмо на почту, все.
Вот тут самое интересное, модуль обратной связи заполняет макросы почтового шаблона данными в автоматическом и ручном режиме, что очень гибко и дает массу возможностей для оформления письма.
Макрос в почтовом шаблоне слева и справа содержит символ решетки, регистр учитывается, пример: #NAME#, #email#
Автоматический режим заполнения макросов - в этом режиме модуль работает по умолчанию, в почтовом шаблоне заполняется макрос #WORK_AREA#
всеми данными формы, которые вводил посетитель, т.е. компонент собрал все поля формы, когда нажали Отправить, обработал данные, склеил их в одну таблицу или строку и подставил в этот макрос, вот и весь автоматический режим, а когда-то его не было, мега удобно.
Ручной режим заполнения макросов - этот режим предполагает ручное прописывание макросов в почтовом шаблоне.
Тут сразу возникает вопрос, как и чего писать, как узнать, например, для поля Ваше имя или Ваш e-mail какой макрос писать?
- Макросы полей конструктора форм - тут макрос соответствует значению атрибута
@name=КОД ПОЛЯ
- Поле Ваше имя задано примерно так:
Ваше имя@input@type=text@name=name@required
значит макрос в почтовом шаблоне для этого поля будет#name#
- Поле Ваш e-mail задано примерно так:
Ваш e-mail@input@type=text@name=email@required
значит макрос в почтовом шаблоне для этого поля будет#email#
Если в верхнем регистре задан атрибут, например
@name=EMAIL
, значит в почтовом шаблоне надо писать#EMAIL#
- Макросы встроенных полей - в настройках компонента есть встроенные поля, которые не имеют никаких настроек, для них коды заданы в самом компоненте, вот их весь список в виде готовых для почтового шаблона макросов:
#AUTHOR_FIO# ФИО #AUTHOR_NAME# Ваше имя #AUTHOR_LAST_NAME# Фамилия #AUTHOR_SECOND_NAME# Отчество #AUTHOR_EMAIL# E-mail #AUTHOR_PERSONAL_MOBILE# Контактный телефон #AUTHOR_WORK_COMPANY# Компания #AUTHOR_POSITION# Должность #AUTHOR_PROFESSION# Профессия #AUTHOR_STATE# Область, район #AUTHOR_CITY# Город #AUTHOR_WORK_CITY# Город работы #AUTHOR_STREET# Улица #AUTHOR_ADRESS# Адрес #AUTHOR_PERSONAL_PHONE# Домашний телефон #AUTHOR_WORK_PHONE# Рабочий телефон #AUTHOR_FAX# Факс #AUTHOR_MAILBOX# Почтовый ящик #AUTHOR_WORK_MAILBOX# Рабочий почтовый ящик #AUTHOR_SKYPE# Скайп #AUTHOR_ICQ# Номер ICQ #AUTHOR_WWW# Персональный сайт #AUTHOR_WORK_WWW# Рабочий сайт #AUTHOR_MESSAGE_THEME# Тема сообщения #AUTHOR_MESSAGE# Сообщение #AUTHOR_NOTES# Заметки
Ну и осталось понять, зачем нужно это ручное заполнение почтового шаблона макросами?
А нужно это тогда, когда это требует задача или дизайн почтового шаблона, т.е. когда автоматически режим заполнения полей не подходит под дизайн, или когда в почтовом шаблоне нужно вывести служебные макросы, вот они:
Номер тикета
#TICKET_ID# Тема письма
#SUBJECT#
Заголовок страницы #PAGE_TITLE# URI страницы #PAGE_URI# URL страницы #PAGE_URL# URL раздела
#DIR_URL# Заголовок формы #FORM_TITLE# Имя хоста/домена #HTTP_HOST# IP отправителя #IP# Браузер отправителя #HTTP_USER_AGENT# Дата и время #DATETIME# E-mail отправителя письма #DEFAULT_EMAIL_FROM# E-mail получателя письма #EMAIL_TO#
Пример почтового шаблона
Информационное сообщение сайта #SITE_NAME#
------------------------------------------
#name#, здравствуйте!
Это копия Вашего обращения №#TICKET_ID#, пожалуйста, не отвечайте на данное письмо, дождитесь моего ответа.
#WORK_AREA#
Заключение
Почтовые шаблоны довольно сложны для понимания рядовых пользователей Битрикс, изучите этот очень гибкий, полезный инструмент.
В недавней версии модуля добавилась еще возможность применять стили к автоматически заполненным полям в почтовом шаблоне, как таблицей, так и блоками/