2013-07-04 101 views
2

是否有可能获得最后一个订单id订购成功页面?我只是想获得最后的订单ID,这样我就可以设置为我的模板文件success.tpl一个链接,链接会进入最后的订单信息页面.. 我曾试图从东西controller/checkout/success.phpopencart获得最后一个订单id到成功页面

$this->load->model('checkout/order'); 
$order_last_id = $this->db->getLastId(); 
$this->data['order_info'] = $this->url->link('account/order/info', 'order_id=' . $order_last_id, 'SSL'); 

但是,运气不好我得到0订单ID

index.php?route=account/order/info&order_id=0 

任何一个能帮助我获得最后订单ID网址?

感谢...

回答

9

打开/catalog/controller/checkout/success.php和验证码

$this->cart->clear(); 

$this->data['order_id'] = $this->session->data['order_id']; 

然后在模板中使用,如果以测试是否$order_id不为空之前

<?php if(!empty($order_id)): ?> 
... CODE HERE using $order ID ... 
<?php endif; ?> 
2

只要你没有编辑的核心文件...

添加只是/catalog/controller/checkout/success.php的第5行之前:

$this->data['order_id'] = $this->session->data['order_id']; 

你的问题是你“再假设该用户登录,而不是一个guest用户,来解决这个问题,检查用户登录的用户,加入这个您success.tpl

<p><?php echo "Your order ID is "; ?> 
<?php if($logged) { ?> 
<a href="index.php?route=account/order/info&order_id=<?php echo $order_id; ?>"> 
<?php } ?> 
<?php echo $order_id; ?> 
<?php if($logged) { ?> 
</a> 
<?php } ?> 
</p> 

这样,如果它们已经登录,链接将被创建。如果没有,它只显示没有l的ID号码墨水。

0

我得到的orderID的Opencart的-2.0.3.1如下

/*after this this line: $this->model_account_activity->addActivity('order_guest', $activity_data);} */ 
    $orderID = $this->session->data['order_id']; 
相关问题