Email 在OpenCart中将客户电子邮件地址获取到success.tpl
我已经能够在OpenCart(1.5.4版)的成功页面上获得订单id和订单总价值,通过在中应用Shadyyx(谢谢!)的非常有用的建议来处理它们。但是,我无法获得(注册或客人)客户的电子邮件地址,即: 如果我插入Email 在OpenCart中将客户电子邮件地址获取到success.tpl,email,variables,opencart,Email,Variables,Opencart,我已经能够在OpenCart(1.5.4版)的成功页面上获得订单id和订单总价值,通过在中应用Shadyyx(谢谢!)的非常有用的建议来处理它们。但是,我无法获得(注册或客人)客户的电子邮件地址,即: 如果我插入$this->data['email']=$this->session->data['email']cart->clear()之前的success.php中的code> 提交订单时,success.php中出现未定义的索引错误 如果我插入$this->data['email']=$thi
$this->data['email']=$this->session->data['email']$this->cart->clear()之前的success.php中的code>代码>
提交订单时,success.php中出现未定义的索引错误
如果我插入$this->data['email']=$this->cart->getEmail()代码>
相反,我避免了未定义的索引错误,但电子邮件地址仍然不会通过输入标记加载到html表单中(但这对订单id和总数有效),如下所示:
$this->customer->getEmail()代码>-这将使您登录客户的电子邮件id
在catalog/controller/checkout/success.php
中,在
if(isset($this->session->data['order\u id']){
及
$this->cart->clear();
要添加的代码:
if (isset($this->session->data['guest'])) {
$this->data['customer_email'] = $this->session->data['guest']['email']; // Guest user's email
} elseif($this->customer->isLogged()) {
$this->data['customer_email'] = $this->customer->getEmail(); // Customer's email
}
然后在success.tpl中添加:
<?php if(isset($customer_email)){ ?>
<input name="email" type="hidden" value="<?php echo $customer_email ?>">
<?php } ?>
要正确执行此操作,您需要打开/catalog/controller/checkout/success.php
并找到这行代码
if (isset($this->session->data['order_id'])) {
在它之后,添加以下内容
$this->load->model('account/order');
$order = $this->model_account_order->getOrder($this->session->data['order_id']);
if($order) {
$this->data['email'] = $order['email'];
}
在模板/catalog/view/theme/your theme name/template/common/success.tpl中,您需要
<?php if(!empty($email)) echo $email; ?>
无论您想在哪里查看电子邮件地址非常感谢您的快速回复!它几乎完美!您的解决方案对客户电子邮件非常有效,但对客户电子邮件没有任何价值。可能是因为客户电子邮件的变量名称不同吗?在success.php中,处理电子邮件的相关3行表单中的地址(无论是来宾还是客户)为:“”