Zend Framework SpeckCart无法正常工作

时间:2013-01-04 14:47:44

标签: php zend-framework2 shopping-cart zend-session

我在ZF2项目中使用SpeckCart购物车模块。我已经设置了模块,它将项目成功添加到购物车,但它会在每次调用时覆盖相同的项目,而不是添加新项目。请指导我在哪里做错了什么,这是代码:

    public function addAction(){
    $prod_id = $this->params()->fromPost('prod_id');
    $product = $this->getProductTable()->getProduct($prod_id);

    $item = new CartItem();
    $item->setDescription($product->name);
    $item->setCartItemId($prod_id);
    $item->setPrice($product->price);

    $cs = $this->getServiceLocator()->get('SpeckCart\Service\CartService');

    $cart = $cs->getSessionCart(true); 

//我认为以上一行每次都会创建一个新车,这就是问题所在。我无法知道如何使用之前调用中创建的现有购物车。

    $cs->addItemToCart($item, $cart);

我是ZF的新手,请告诉我如何正确使用此购物车模块。上面的代码来自我的应用程序的操作,每次按下“添加到购物车”按钮时都会调用该操作。

1 个答案:

答案 0 :(得分:0)

第一次尝试使用speckcart模块后才发现这个问题。我认为你的问题是你正试图设置CartItemId。数据库代码(在模块中提供)使购物车项目Id成为自动递增的主键字段,因此不应设置该字段,因为数据库应自动创建它。

此外,您必须提供数量,因为数量的数据库字段设置为不接受空值。

除此之外,一切都应该有效。

希望这有帮助。