shopware 6 中的电子邮件模板变量

Posted

技术标签:

【中文标题】shopware 6 中的电子邮件模板变量【英文标题】:Email template variables in shopware 6 【发布时间】:2020-12-07 17:30:14 【问题描述】:

如何在 shopware 6 中转储可用于我的电子邮件模板的变量,如果无法转储它们,我在哪里可以找到它们。 谢谢

【问题讨论】:

请分享一些你迄今为止尝试过的代码。 【参考方案1】:

我知道已经晚了,但是如果其他人偶然发现了这一点,您可以使用MailBeforeValidateEvent,如下所示:

    public static function getSubscribedEvents()
    
        return [
            MailBeforeValidateEvent::class => 'mailValidate'
        ];
    

    public function mailValidate(MailBeforeValidateEvent $event): void
    
        // Here you get the template data
        $templateData = $event->getTemplateData();

        // Here you get the data
        $data = $event->getData();
    

【讨论】:

【参考方案2】:

使用 MediaService 并从那里转储它。所有数据都将显示在 Symfony 控制台的 Debug 下(如果您使用 Git 的开发环境)

【讨论】:

【参考方案3】:

没有办法将这些变量转储到 twig 中。您可以查看实体定义,例如订单:https://github.com/shopware/platform/blob/c5b78af033b1438e497e28ec7b10ab25cedb8a0d/src/Core/Checkout/Order/OrderDefinition.php

然后你可以检查链接的实体等等。

您可以在邮件服务的发送函数中适当地转储变量:https://github.com/shopware/platform/blob/cb9229240c111c70594bbe7e1a8b4f018162dc44/src/Core/Content/MailTemplate/Service/MailService.php#L109

【讨论】:

以上是关于shopware 6 中的电子邮件模板变量的主要内容,如果未能解决你的问题,请参考以下文章

带有 Mailchimp 的 Shopware 6

Shopware 6 开发-模板安装“前端打开失败”

如何管理 Shopware 中的 SEO-Urls?

Shopware 5 在模板文件中调用自定义函数

给定 [] 邮箱中的地址不符合 RFC 2822, 3.6.2。当电子邮件在变量中时

将变量传递给nodemailer中的html模板