iqdev/mail.mjml

Module for generating emails from components

Installs: 157

Dependents: 0

Suggesters: 0

Security: 0

Type:bitrix-module

1.1.1 2023-04-05 19:58 UTC

This package is auto-updated.

Last update: 2024-04-05 22:08:30 UTC


README

Mjml шаблонизатор https://documentation.mjml.io

Использование со сторонними рендерами твига

Если на проекте подключен иной обработчик твиг-шаблонов, то необходимо выключить регистрацию обработчика модуля. Необходимо перейти в настройки модуля и отключить свойство "Подключать обработчик шаблонов twig".

В нужном объекте twig зарегистрировать расширение, получив его через метод \Mail\Mjml\Mjml\Service\ExtensionService::compileTwigExtension

В перечень обрабатываемых файлов twig добавить расширение mjml.twig

$arCustomTemplateEngines['twig'] = [
    'templateExt' => ['mjml.twig', 'twig'],
];

Использование

В шаблоне письма выбрать режим "Визуальный редактор" и подключить компонент. Например:

$APPLICATION->IncludeComponent(
    'iqdev:mail.test', 
    '',
    [
        'username' => ['Иван', 'Петр']
    ]
);

При использовании компонентов в шаблоне использовать файл template с расширением mjml.twig

Файл должен начинаться с тега `{% apply mjml_to_html %} и заканчиваться{% endapply %}`

Например

{% apply mjml_to_html %}
    <mjml>
        <mj-body>
            <mj-section>
                <mj-column>
                    <mj-text>Hello {{ username }}</mj-text>
                </mj-column>
            </mj-section>
        </mj-body>
    </mjml>
{% endapply %}

Twig в шаблоне

В шаблоне помимо синтаксиса mjml можно использовать конструкции twig Например, цикл:

<mj-column>
    {% for user in username %}
        <mj-text>Hello {{ user }}</mj-text>
    {% endfor %}
</mj-column>

Параметры компонента для передачи в шаблон

В шаблон template.mjml.twig будут переданы данные из `arResult['TEMPLATE_DATA']`