iqdev/mail.mjml

从组件生成电子邮件的模块

维护者

详细信息

gitlab.iqdev.digital/vendor/mail.mjml

安装: 180

依赖: 0

建议者: 0

安全: 0

类型:bitrix-module

1.1.1 2023-04-05 19:58 UTC

This package is auto-updated.

Last update: 2024-09-05 23:02:45 UTC


README

Mjml 模板生成器 https://documentation.mjml.io

与其他渲染器一起使用

如果项目连接了其他 twig 模板处理器,则需要禁用模块处理器的注册。需要进入模块设置并禁用“连接模板处理器”属性。

在需要的 twig 对象中注册扩展,通过方法 \Mail\Mjml\Mjml\Service\ExtensionService::compileTwigExtension 获取

在处理文件列表中添加扩展 mjml.twig

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

使用

在邮件模板中选择“可视化编辑器”模式并连接组件。例如

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

在模板中使用组件时,使用扩展名为 mjml.twig 的 template 文件

文件应从 `{% 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']` 的数据