Magento2 如何使用模块将自定义块添加到电子邮件模板
我正在尝试在订单确认电子邮件中创建一个自定义块,以添加有关自定义装运方法的一些信息 这是我到目前为止尝试的,但它没有在电子邮件中显示我的区块 在/app/code/moduleA/moduleB/view/frontend/layout文件夹中,我创建了sales\u order\u info\u links.xml 但我的代码不起作用,电子邮件中没有显示任何内容 如果可能,请指导我如何使用模块在订单确认电子邮件发货部分添加自定义块Magento2 如何使用模块将自定义块添加到电子邮件模板,magento2,Magento2,我正在尝试在订单确认电子邮件中创建一个自定义块,以添加有关自定义装运方法的一些信息 这是我到目前为止尝试的,但它没有在电子邮件中显示我的区块 在/app/code/moduleA/moduleB/view/frontend/layout文件夹中,我创建了sales\u order\u info\u links.xml 但我的代码不起作用,电子邮件中没有显示任何内容 如果可能,请指导我如何使用模块在订单确认电子邮件发货部分添加自定义块 提前谢谢 首先,您必须覆盖订单模板,或者只需在新订单模板中添加
提前谢谢 首先,您必须覆盖订单模板,或者只需在新订单模板中添加句柄即可 创建文件vendor/modulename/etc/email_templates.xml 在电子邮件模板文件中添加处理程序,或者您可以直接从magento edit编辑电子邮件模板,并在电子邮件中添加以下内容 {{layout handle=sales\u order\u info\u links order=$order area=frontend}} 现在创建一个布局处理程序vendor/modulename/view/frontend/layout/sales\u order\u info\u links.xml 添加以下内容 创建块文件Vendor/ModuleName/block/Email/info.php
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<block class="moduleA\moduleB\Block\moduleApickuppointemail" name="moduleApickuppointemail" before="items" template="moduleA_moduleB::moduleApickuppointemail.phtml" />
</body>
</page>
<?php
namespace moduleA\moduleB\Block;
class moduleApickuppointemail extends \Magento\Framework\View\Element\Template
{
public function __construct(\Magento\Framework\View\Element\Template\Context $context)
{
parent::__construct($context);
}
public function sayHello()
{
return __('Hello World');
}
}
<?php
/**
* @var \moduleA\moduleB\Block\moduleApickuppointemail $block
*/
echo $block->sayHello();