我遇到了问题,我想更改客户通过网页上的联系表单给我们写信时收到的电子邮件。
我找到了改变它的行:
if(!Mail :: Send($ this-> context-> language-> id,' contact', Mail :: l('来自联系表格的消息')。' [no_sync]',$ var_list, $ contact-> email,$ contact-> name,null,null,
我想将其更改为
邮件:: l('来自联系表单的消息 - 客户电子邮件')
任何人都知道我需要写什么吗?
我试过这样但是它在主题中返回0: 邮件:: l('来自联系表单的消息' - $ contact->电子邮件),
答案 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可以放在应该没有代码修改的位置。