0

我刚刚开始使用 CodeIgniter(2.1.4 版)的购物车类,并且一直在关注有助于解释它的教程。但由于某种原因,我无法成功地将一个简单的数组添加到购物车中。

这是我对购物车类的实现:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cart extends CI_Controller {

public function __construct() {
    parent:: __construct();
}

public function index() {
    $nav["navigation"] = $this->getCategory->getCategories();

    $this->load->view("header");
    $this->load->view("scripts"); 
    $this->load->view("nav", $nav);
    $this->load->view("cart");
    $this->load->view("footer");
}

function add() {
    $data = array(
        "id"        => "42",
        "name"      => "pants",
        "quantity"  => 1,
        "price"     => 19.99,
        "options"   => array("size" => "medium")
    );

    $this->cart->insert($data);
    var_dump($this->cart->contents()); //This should output the array!

}

function show() {

    $cart = $this->cart->contents();
    echo "<pre>" . print_r($cart) . "</pre>"; //Nothing here either!

}

function update() {

    $this->cart->update($data);
    redirect(base_url()."cart");

}

function total() {

    echo $this->cart->total();

}

function remove() {

    $this->cart->update($data);  

}

function destroy() {

    $this->cart->destroy();

}

}

但是,如果我使用 add 函数,var_dump 只会显示“array(0) { }”。如果我导航到显示功能,结果相同。

这是我的自动加载配置,显示我已自动加载购物车库已加载:

$autoload['libraries'] = array("database", "session", "cart");

$autoload['helper'] = array("html", "url", "form");

我知道我错过了一些非常简单和明显的东西,但现在我只是感到困惑。有什么建议么?

4

1 回答 1

0

您的数组键quantity命名不正确。在您插入的数据中,数量必须命名qty要保存到购物车的数据。

"qty"  => 1,
于 2013-09-27T16:56:19.850 回答