2013-07-04 52 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']; 
相關問題