2014-01-20 74 views
0

我有以下Opencart的功能,以增加產品的會話無法在PHP Opencart的多維數組設置會話

認爲這是我的$bean_sku$product_id

$bean_id = 'werwer-23423s-sd-01'; 
$product_id = 120; 

public function add($product_id, $bean_sku, $qty = 1, $option = array()) { 

    if (!$option) { 
      $key = (int)$product_id; 
    } else { 
      $key = (int)$product_id . ':' . base64_encode(serialize($option)); 
    } 

    if ((int)$qty && ((int)$qty > 0)) { 
     if (!isset($this->session->data['cart'][[$bean_sku][$key]])) { echo 'not set'; 
       $this->session->data['cart'][[$bean_sku][$key]] = (int)$qty; 
     } else { echo 'session set'; 
       $this->session->data['cart'][[$bean_sku][$key]] += (int)$qty; 
      } 
    } 
    echo $this->session->cart; 
    exit; 
    $this->data = array(); 
} 

在我加入$bean_sku上述功能但我無法設置會話。每當我跑步得到not set

+0

我認爲這個問題是在這裏:'回聲$這個 - >會話級>車;'這將什麼都不回聲'$ this-> session'不是一個對象,它是一個數組,所以你必須做'print_r($ this-> session ['cart']);' - 那麼你會發現即使你自己的代碼工作中。但我仍然建議使用Nouphal提出的代碼。 – shadyyx

回答

0

嘗試爲

$this->session->data['cart'][$bean_sku.$key] = (int)$qty; 
+0

嘗試然後也無法設置 – kndwsu

+0

你能夠獲得會議數據在這個頁面? –

0

嘗試

$this->session->data['cart'][$bean_sku][$key] 

,而不是

$this->session->data['cart'][[$bean_sku][$key]] 
+0

仍然無法設置 – kndwsu

+0

您是否想更新購物車 –

+0

如果產品id和bean_sku不存在,則必須添加,否則需要更新購物車。 – kndwsu