如何在opencart中将产品添加到购物车

时间:2015-12-28 12:14:29

标签: opencart opencart2.x opencart-module

以下是产品代码的补充。但我没有得到价值存储的地方。请帮助找到解决方案。我想知道这段代码背后的逻辑

public function add($product_id, $qty = 1, $option = array(), $recurring_id = 0) {
    $this->data = array();

    $product['product_id'] = (int)$product_id;

    if ($option) {
        $product['option'] = $option;
    }

    if ($recurring_id) {
        $product['recurring_id'] = (int)$recurring_id;
    }

    $key = base64_encode(serialize($product));

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

1 个答案:

答案 0 :(得分:1)

带有选项的产品详细信息存储在$key = base64_encode(serialize($product));中。其中$this->session->data['cart'][$key]包含客户添加的数量。

有关详细信息,请查看同一页面上的getProducts()功能。在哪里可以找到

foreach ($this->session->data['cart'] as $key => $quantity) { 
  .... 
  $product = unserialize(base64_decode($key));
  ....
}