Работа с почтовыми шаблонами

Урок 277 из 365
Автор: Анна Кокина
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
3 из 5
Дата изменения: 03.12.2019
Просмотров: 54571
Ограничения по редакциям: Старт, Стандарт, Малый бизнес

Почтовые шаблоны расположены на странице Настройки > Настройки продукта > Почтовые и СМС события > Почтовые шаблоны. Чтобы отредактировать почтовый шаблон, выберите пункт Изменить в меню действий нужного шаблона:

Откроется форма редактирования почтового шаблона. Суть большинства параметров ясна их названия, опишем только некоторые:

  • От кого - указывается электронный адрес, который будет указываться как e-mail отправителя письма.
  • Кому - указываются адреса Адреса перечисляются через запятую.
    тех, кому будут отправлены письма.

    Примечание: Если в поля От кого и Кому не проставлены конкретные адреса электронной почты, то подставляются адреса по умолчанию. Система сначала подставляет адрес из настроек сайта, к которому привязан шаблон, и затем, если такой адрес не обнаружен, из настроек Главного модуля. Поскольку адрес по умолчанию в обоих случаях один, то он будет подставлен в оба поля.

  • Скрытая копия - о факте отправки письма на электронные адреса, указанные в данном поле, не будут знать ни главный адресат, ни получатели, указанные в поле Копия. Кроме того, адресаты, указанные в поле Скрытая копия, также не будут видеть друг друга в получателях письма.
  • Важность - нажмите на стрелочку и укажите степень важности отсылаемого уведомления.
  • Тема - укажите тему письма. Удобно использовать для рассылок определённой тематики. Тема должна быть предварительно создана.

Само сообщение представлено на вкладке Тело сообщения. При редактировании сообщения можно выбрать более удобный для вас в данной форме формат представления сообщения: Текст, HTML или Визуальный редактор.

Доступные значения полей для параметров и тела сообщения можно брать ниже в виде макросов:

Кроме макросов, в почтовых шаблонах можно указать php-код (с версии главного модуля 15.0.7). К примеру:

Добрый день!
Ваш логин: #LOGIN#
Текущая дата: <?=date('d.m.Y')?>

Примечание: в доступных полях, при указании что параметр устанавливается в настройках, зачастую имеются в виду настройки главного модуля.

Добавление шаблона

Нажав кнопку Добавить шаблон на контекстной панели вы откроете форму добавления, кторая фактически идентична форме редактирования шаблона, за исключением того, что вам нужно выбрать тип ранее созданного почтового события, к которому будет привязан шаблон:

Чтобы увидеть все поля формы, нажмите показать дополнительные заголовки....

Визуальный редактор

В визуальном редакторе почтового шаблона допустимо использование компонентов С версии главного модуля 15.0.7. . Но нужно учитывать, что:

  • Подключение компонентов выполняется методом EventMessageThemeCompiler::includeComponent() вместо метода CMain::IncludeComponent Метод подключает компонент 2.0. Нестатический метод.

    Подробнее...
    , хотя передаваемые аргументы нового метода аналогичны аргументам IncludeComponent.
  • В визуальном редакторе при редактировании почтового шаблона отображаются только почтовые компоненты у которых в файле описания (.description.php) указан тип "TYPE" => "mail". Например:
    <?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
    $arComponentDescription = array(
    	"NAME" => GetMessage("SBBS_DEFAULT_TEMPLATE_NAME"),
    	"TYPE" => "mail",
    	"DESCRIPTION" => GetMessage("SBBS_DEFAULT_TEMPLATE_DESCRIPTION"),
    	"ICON" => "/images/sale_basket.gif",
    	"PATH" => array(
    		"ID" => "e-store",
    		"CHILD" => array(
    			"ID" => "sale_basket",
    			"NAME" => GetMessage("SBBS_NAME")
    		)
    	),
    );
    ?>

    Без этого компонент можно будет подключить только вручную вставив код вызова.

  • Подключенный в почтовом шаблоне компонент может выполняться на хите (отправка письма на хите), соответственно компонент не должен использовать:
    • глобальный объект USER Глобальный объект класса CUser, хранит в себе данные авторизации текущего пользователя, предназначен для манипуляции параметрами текущего пользователя.

      Подробнее...
      , так как в нём содержатся данные о том кто сделал хит, а не о том, кому отправляется письмо;
    • константы SITE_ID Идентификатор текущего сайта при использовании в Публичной части, код языка при использовании в административной части.

      Подробнее...
      , LANGUAGE_ID Если это публичная часть, то в данной константе храниться поле "Язык" из настроек текущего сайта, если административная часть, то в данной константе храниться идентификатор текущего языка.

      Подробнее...
      , SITE_TEMPLATE_ID Идентификатор текущего шаблона сайта.

      Подробнее...
      .

      Вместо них нужно использовать вызовы методов:
      $this->getSiteId() - сайт, указанный в почтовом событии,
      $this->getLanguageId() - язык сайта, указанного в почтовом событии,
      $this->getSiteTemplateId() - шаблон сайта, указанного в почтовом событии.

    Внимание! При отправке письма по шаблону, будет выполнен код компонента. Языковые файлы в компоненте будут подключены для того языка, который указан в настройках сайта указанного в почтовом событии. Для письма используется та кодировка, которая указана в настройках сайта, код которого передан в событии.

    Таким образом, если на сайте используется многосайтовость с разными языками, Многосайтовость и языковые версии сайта – это разные понятия, хотя иногда взаимосвязанные. При необходимости языковые версии можно реализовать и как отдельные языковые папки (разделы) в составе одного сайта и как отдельные сайты.

    В данном случае следует предварительно проанализировать, какая именно информация должна быть представлена на различных языках и какие действия с объектами сайта предполагается производить.

    Подробнее...
    то на хите по русскому сайту, может быть отправлено письмо для другого языка.

Темы сообщения

Тема сообщения - это шаблон оформления сообщения. Создаётся из списка тем со страницы Настройки > Настройки продукта > Почтовые и СМС события > Темы оформления. Технология создания темы аналогична созданию шаблона сайта Шаблон дизайна - это внешний вид сайта, в котором определяется расположение различных элементов на сайте, художественный стиль и способ отображения страниц. Включает в себя программный html- и php-код, графические элементы, таблицы стилей, дополнительные файлы для отображения контента. Может так же включать в себя шаблоны компонентов, шаблоны готовых страниц и сниппеты.

Подробнее...
и имеет аналогичную форму. Технически тема оформления - это шаблон сайта в папке /bitrix/templates. При создании именно темы для почтовых сообщений нужно выбрать значение Шаблон для почтовых писем в поле Тип. В этом случае в файле описания (.description.php) будет указан тип "TYPE" => "mail":

<?$arTemplate = array(
	"NAME" => "Тестовая тема оформления",
	"DESCRIPTION" => "Тестовая тема оформления",
	"SORT" => "",
	"TYPE" => "mail",
);
?>

Стили, указанные в файлах стилей будут вставлены в письмо (inline) в том месте, где будет вызов <?=$this->showStyles()?>

Темы оформления, так же как и шаблоны сайта, могут содержать php-код.

Поиск шаблона почтового компонента выполняется по стандартному алгоритму. Если у почтового шаблона, где подключается компонент, проставлена тема оформления, то папка темы оформления используется в качестве текущего шаблона сайта при поиске шаблона компонента.

Документация по теме:



Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас