2011-03-23 210 views
4

感謝您花時間閱讀此。我一直在使用代碼點火器的購物車類作爲基本的購物車,但我有一個小問題。在將商品添加到購物車後,我將用戶重定向到結帳頁面,但是當我點擊瀏覽器時,商品被刪除。我知道這一點,因爲我在頭文件中有<?php echo anchor('cart','<strong>'.$this->cart->total_items(). '</strong> item(s)') ?>,並且在返回時遞減。這真的很煩人,我想解決它。添加到購物車在Codeigniter購物車類

這是處理表單

public function process() { 
if($this->input->post('submit')) { 
    $product = $this->products_model->getProductRow($this->input->post('productid')); 

    $data = array(
    'id'  => $product['id'], 
    'qty'  => 1, 
    'price' => $this->product_helper->calcPrice($product['id']), 
    'name' => $product['name'] 
    ); 

    $this->cart->insert($data); 
    redirect('cart'); 
    //have tried using redirect('cart', 303); but doest do anything 
    //have also tried flusing the buffer 
}   
else 
    redirect('seatcovers');} 

有一些小事我是缺少在這裏,或者是這個東西,需要在車類別C1內改變控制器?

非常感謝

回答

0

重要:購物車類利用CodeIgniter的Session類的購物車信息保存到數據庫中,所以在使用購物車類之前,你必須建立一個數據庫表作爲會議指出文檔,並在您的application/config/config.php文件中設置會話首選項以利用數據庫。

我假設你也這麼做了? 我唯一的建議是刪除重定向,嘗試導航到另一個頁面,然後導航回去看它是否保持正確的數字。

另外,你說你正在使用瀏覽器後退按鈕。您是否嘗試刷新頁面以查看它是否未使用瀏覽器緩存副本?

1

我知道是一個小老頭,但我有同樣的問題,這個問題是該庫有一個正則表達式限制的項目名稱

class CI_Cart { 

    // These are the regular expression rules that we use to validate the product ID and product name 
    var $product_id_rules = '\.a-z0-9_-'; // alpha-numeric, dashes, underscores, or periods 
    var $product_name_rules = '\.\:\-_ a-z0-9'; // alpha-numeric, dashes, underscores, colons or periods 

更改,或者創建自己的定製車庫

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class MY_Cart extends CI_Cart 
{ 
    function __construct() 
    { 
     parent::__construct(); 
     $this->product_name_rules = '\d\D'; 
    } 
} 

我在這裏找到解決方案http://darrenonthe.net/2011/05/03/cant-add-products-to-codeigniter-shop-cart-class/

相關問題