You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OpenCart 3.0.2.0订单发票打印中添加客户邮箱与手机号

在OpenCart 3.0.2.0订单发票中添加客户邮箱和手机号的解决方案

嘿,我来帮你搞定OpenCart 3.0.2.0订单发票里加客户邮箱和手机号的事儿,亲测可行,分几步来操作:

1. 规范语言变量(可选但推荐)

先给界面文本加个统一的语言标签,方便后续维护:
打开catalog/language/zh-cn/mail/order.php(用英文界面就改en-gb目录下的对应文件),在合适位置添加两行:

$_['text_email'] = '邮箱地址:';
$_['text_telephone'] = '手机号码:';

2. 让控制器传递数据到模板

要确保发票页面能拿到客户的邮箱和手机号数据,得修改控制器:
打开catalog/controller/mail/order.php,找到public function invoice()方法,在已有的客户姓名赋值代码后面,加上:

$data['customer_email'] = $order_info['email'];
$data['customer_telephone'] = $order_info['telephone'];

这样模板就能获取到这两个字段的数据了。

3. 修改模板显示内容

最后一步是把邮箱和手机号在发票上显示出来:
打开catalog/view/theme/default/template/mail/order_invoice.twig(注意:如果用了自定义主题,一定要替换成你的主题名称,不然改默认主题的文件不会生效),找到显示客户姓名的区块(大概是下面这样):

<p><strong>{{ text_customer }}</strong> {{ customer }}</p>

在这一行下面添加:

{% if customer_email %}
<p><strong>{{ text_email }}</strong> {{ customer_email }}</p>
{% endif %}
{% if customer_telephone %}
<p><strong>{{ text_telephone }}</strong> {{ customer_telephone }}</p>
{% endif %}

这里加了if判断,避免客户没填手机号/邮箱时显示空标签。

额外提醒

  • 修改文件前一定要备份原文件,万一操作错了能快速恢复;
  • 如果你的主题有独立的订单发票模板,必须修改对应主题下的文件;
  • 改完后可以测试生成一张发票,看看效果是否符合预期。

内容的提问来源于stack exchange,提问作者Navid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:50:55