通过Prestashop

时间:2017-11-11 11:35:00

标签: prestashop prestashop-1.6

我遇到了问题,我想更改客户通过网页上的联系表单给我们写信时收到的电子邮件。

我找到了改变它的行:

  

if(!Mail :: Send($ this-> context-> language-> id,' contact',   Mail :: l('来自联系表格的消息')。' [no_sync]',$ var_list,   $ contact-> email,$ contact-> name,null,null,

我想将其更改为

  

邮件:: l('来自联系表单的消息 - 客户电子邮件')

任何人都知道我需要写什么吗?

我试过这样但是它在主题中返回0: 邮件:: l('来自联系表单的消息' - $ contact->电子邮件),

1 个答案:

答案 0 :(得分:1)

sprintf(Mail::l('Message from contact form - %s'), $contact->email)

你的专栏将是

if (!Mail::Send($this->context->language->id, 'contact', sprintf(Mail::l('Message from contact form - %s'), $contact->email).' [no_sync]', $var_list, $contact->email, $contact->name, null, null,

一些细节:

Mail::l()翻译当前语言的文字,它应该是静态文字,因此Mail::l('Message from contact form' . $contact->email)不是一个好的解决方案。

Mail::l('Message from contact form' - $contact->email)无法正常工作,PHP在翻译之前执行操作'Message from contact form' - $contact->email,所以翻译0

Mail::l('Message from contact form - ') . $contact->email有效,但不是一个好习惯,也许用另一种语言,电子邮件不会放在最后。此外,PrestaShop很容易翻译以空格结尾的文字。

sprintf(Mail::l('Message from contact form - %s'), $contact->email)使用静态文字'来自联系表单的消息 - %s'并sprintf用客户的电子邮件替换%s。在另一种语言中,%s可以放在应该没有代码修改的位置。