Php 在Magento 2中通过电子邮件发送联系人表单中最近查看的产品列表
我想在联系人表单发送的联系电子邮件中包含访客最近查看的产品列表。我知道如何修改电子邮件模板,如下所示:Php 在Magento 2中通过电子邮件发送联系人表单中最近查看的产品列表,php,magento2,Php,Magento2,我想在联系人表单发送的联系电子邮件中包含访客最近查看的产品列表。我知道如何修改电子邮件模板,如下所示: <tr> <td><b>{{trans "Product URLs"}}</b></td> <td>{{var data.product_urls}}</td> </tr> 在“foreach”语句之后: <?php if ($iterator > 1) {
<tr>
<td><b>{{trans "Product URLs"}}</b></td>
<td>{{var data.product_urls}}</td>
</tr>
在“foreach”语句之后:
<?php
if ($iterator > 1) {
$product_urls .= ',';
$product_ids .= ',';
$product_skus .= ',';
}
$product_urls .= $block->getProductUrl($_item);
$product_ids .= $_item->getId();
$product_skus .= $_item->getSku();
?>
这给了我逗号分隔的列表。现在我将添加隐藏控件以提交表单中的数据…Doh!我发现了一种简单的方法,可以使用Magento Admin通过一行代码解决整个问题: 1) 转到Magento管理员、营销、电子邮件模板 2) 添加新模板 3) 加载联系人表单模板 4) 模板名称=“我的联系方式” 5) 将以下代码添加到模板内容:
{{block class="Magento\\Reports\\Block\\Product\\Widget\\Viewed" template="Magento_Reports::widget/viewed/content/viewed_grid.phtml"}}
6) 保存模板
7) 转到Magento管理员、门店、配置、常规、联系人、电子邮件选项
8) 电子邮件模板=“我的联系方式”
粗糙但有效
$product_urls = '';
$product_ids = '';
$product_skus = '';
<?php
if ($iterator > 1) {
$product_urls .= ',';
$product_ids .= ',';
$product_skus .= ',';
}
$product_urls .= $block->getProductUrl($_item);
$product_ids .= $_item->getId();
$product_skus .= $_item->getSku();
?>
{{block class="Magento\\Reports\\Block\\Product\\Widget\\Viewed" template="Magento_Reports::widget/viewed/content/viewed_grid.phtml"}}