我正在使用默认的“奖励电子邮件”模板
{{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"}}
根据模板,我应该在更新奖励积分的电子邮件中收到客户名称,但是我收到的是这样的
我无法理解为什么不显示客户名称,而是显示%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。你能从我能得到任何线索的地方引导我吗?
谢谢!
答案 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>