4

商品を追加してカートを保存できるように、顧客のショッピング カートを読み込もうとしています。
私はこれを試しましたが、カートをロードできませんでした:

    $customerCart = Mage::getModel('checkout/cart')->loadByCustomer($idUser);

    $customerCart->addProduct($idProduct,$quantity);
    $customerCart->save();
4

1 に答える 1

7

それはあなたが達成しようとしていることに依存します。あなたが管理者で、アイテムをカートに追加する必要がある場合 (管理者が既にこの機能を持っていても)、フロントエンドにいるときとは異なる方法で行います。Magento で少し紛らわしい重要なポイントの 1 つは、実際にはカートがアイテムを格納するものではないということquoteです。カートは見積もりの​​ラッパーです。少し考えてみれば、それは実に理にかなっている。

したがって、管理者から顧客の見積もりにアクセスするには、次のようにします。

$quote = Mage::getModel('sales/quote')->loadByCustomer($customer);
$quote->addProduct($product, $qty);

$quote->collectTotals()->save();

フロントエンドから顧客の見積もりにアクセスする場合は、次のようにします。

$quote = Mage::getSingleton('checkout/session');
$quote->addProduct($product, $qty);

$quote->collectTotals()->save();
于 2012-12-04T20:54:42.370 に答える