Magento 2电子邮件奖励积分客户名称未显示

时间:2019-03-21 03:04:47

标签: magento magento2

我正在使用默认的“奖励电子邮件”模板

{{template config_path="design/email/header_template"}}

<p class="greeting">{{trans "%name," name=$customer.getName()}}</p>
<p>
    {{trans "You have %points_balance points that may be used in our store:" points_balance=$points_balance}}
    <a href="{{store url=""}}">{{var store.getFrontendName()}}</a>.
</p>
<p>{{trans '<a href="%unsubscription_url">Unsubscribe</a> from these notifications.' unsubscription_url=$unsubscription_url|raw}}</p>

{{template config_path="design/email/footer_template"}}

根据模板,我应该在更新奖励积分的电子邮件中收到客户名称,但是我收到的是这样的

enter image description here

我无法理解为什么不显示客户名称,而是显示%name,

在电子邮件模板中,我已经测试过{{var customer.getFirstName}}, {{var customer.firstname}}, {{trans "name" name="customer.name"}}, {{trans "name" name="customer.getname"}}, {{customer}} ...

客户var似乎无法在电子邮件模板中使用

在代码文件中,我已经检查了文件

1)vendor/magento/module-reward/Model/Reward.php

2)vendor/magento/framework/Filter/Template.php

但未找到任何具体原因。我知道通过覆盖等方式,我可以显式添加客户名称,但是我想知道它不起作用的确切原因。我正在使用Magento 2.1.4 EE。你能从我能得到任何线索的地方引导我吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

<p class="greeting">{{trans "%name," name=$customer.getName()}}</p> in "%name" , "name" Conflict with System Keyword.
Modifying "name" solves the problem.
My File Path:
app\design\frontend\Magento\luma\Magento_Sales\email
app\code\Magento\Sales\view\frontend\email
eg: 
1:<p class="greeting">{{trans "%guest_name," guest_name=$customer.getName()}}</p>
2:<p class="greeting">{{trans "%customer_name," customer_name=$order.getCustomerName()}}</p>

答案 1 :(得分:0)

我今天在使用new account模板的magento 2.3.1上遇到了类似的问题。更改后解决了我的问题。

在管理,市场营销,电子邮件模板中,我创建了一个新模板并加载了new account模板。

我改变了

<p class="greeting">{{trans "%name," name=$customer.name}}</p>

对此

<p class="greeting">{{var customer.name}},</p>