webqam/magento2-module-emailattachment

此包最新版本(1.1.0)没有可用的许可信息。

Webqam Magento2模块 EmailAttachment

1.1.0 2024-04-22 07:02 UTC

This package is auto-updated.

Last update: 2024-09-22 10:44:22 UTC


README

安装

composer require webqam/magento2-module-emailattachment
bin/magento setup:upgrade

使用

在电子邮件中添加附件

此模块向Magento\Framework\Mail\Template\TransportBuilder添加了一个方法(使用偏好设置)。您可以使用TransportBuilder类的addAttachment方法。

销售订单电子邮件的附件

使用email_order_set_template_vars_before观察者

use Magento\Framework\DataObject;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Webqam\EmailAttachment\Model\Order\Email\Container\AttachmentIdentityInterface;

class OrderSetTemplateVarsBefore implements ObserverInterface
{
    /**
     * Execute observer
     *
     * @param Observer $observer
     * @return void
     */
    public function execute(
        Observer $observer
    ) {
        /** @var DataObject $transportObject */
        $transportObject = $observer->getDataByKey('transportObject');
        $attachments = $transportObject->getDataByKey(
            AttachmentIdentityInterface::KEY_TEMPLATE_VARS_EMAIL_ATTACHMENTS_DATA
        );

        $attachment = [
            AttachmentIdentityInterface::KEY_ATTACHMENT_CONTENT   => 'content',
            AttachmentIdentityInterface::KEY_ATTACHMENT_FILE_NAME => 'filename.pdf',
            AttachmentIdentityInterface::KEY_ATTACHMENT_FILE_TYPE => 'pdf'
        ];

        if ($attachments && is_array($attachments)) {
            $attachments[] = $attachment;
            $transportObject->setData(
                AttachmentIdentityInterface::KEY_TEMPLATE_VARS_EMAIL_ATTACHMENTS_DATA,
                $attachments
            );
        } else {
            $transportObject->setData(AttachmentIdentityInterface::KEY_TEMPLATE_VARS_EMAIL_ATTACHMENTS_DATA, [
                $attachment
            ]);
        }
    }
}