1

我需要将 PDF 文件附加到 Sylius 中的订单确认电子邮件。

到目前为止,我已经破解了 Sylius Core Bundle:在 /Sylius/Bundle/CoreBundle/Mailer/TwigSwiftMailer.php 中,我从 Twig 模板和我的订单信息(使用 Knp Snappy)生成 PDF 并将其附加到电子邮件中。它工作正常,我想从核心包中删除它并将其放入我自己的包中(这样核心包可以保持不变)。

但是这个过程涉及几个服务/事件监听器,恐怕我需要覆盖所有它们(即OrderConfirmationEmailListener.php,OrderConfirmationMailer.php,TwigSwiftMailer.php)......

有没有人对如何清楚地实现这一目标有很好的领导/想法?

谢谢

4

2 回答 2

2

听众不应该是一个大问题。你不应该覆盖它们,你应该能够附加你自己的。所以如果我是你,我会附上我自己的监听器(他们的实现在你自己的包中),复制粘贴原始代码以及你的自定义,将它们注册为服务并将它们附加到它们可敬的来源(可能使用标签您的服务注册文件 - 这是附加它们的常用方法)。这应该允许您在自己的包中拥有所有内容,并且您应该能够从自定义代码中清除原始包。另外,请注意,您可以使用服务配置文件来覆盖许多核心类,只需将正确的类名参数更改为您自己的实现之一。

这就是我在不看一些代码的情况下所能想到的。希望能帮助到你。

于 2014-05-13T11:10:05.993 回答
-2

我使用 zendframework2 通过 Zend\Mail\ 发送邮件

有关示例,请参见文档http://framework.zend.com/manual/2.2/en/modules/zend.mail.attachments.html 。

于 2014-05-13T10:18:08.860 回答