0

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の初心者ですが、このカートモジュールを適切に使用する方法を教えてください。上記のコードは、「カートに追加」ボタンが押されるたびに呼び出される私のアプリケーションのアクションからのものです。

4

1 に答える 1

0

初めてspeckcartモジュールを試した後、これに出くわしました。ここでの問題は、CartItemIdを設定しようとしていることだと思います。データベースコード(モジュール内で提供)により、カートアイテムIDが自動インクリメントされた主キーフィールドになります。したがって、データベースが自動的に作成するため、設定しないでください。

また、数量のデータベースフィールドはnull値を受け入れないように設定されているため、数量を指定する必要があります。

それ以外は、すべてが機能するはずです。

お役に立てれば。

于 2013-04-09T15:54:11.387 に答える