1

残りのクライアントにカート同期ソリューションを統合しようとしています。目標は、どこからストアにアクセスしても同じカートを持つことができるようにすることです。

そのため、まず、認証済みの api-user を使用して、既存のアイテムをクライアントに配信する必要があります。

しかし、私は最初に立ち往生しています:

protected function _retrieveCollection()
{
    $cart = Mage::getSingleton('checkout/cart')->getQuote();
    $cart->setCustomerId($this->getApiUser()->getUserId());
    $cart->setStoreId(4);
    $cart->load();

    return $cart->getAllItems();
}

カートに商品があっても空の配列を返します。

誰でもヒントはありますか?私は完全に間違った側にいると感じています...

4

1 に答える 1

0

解決策を見つけました。その逆の顧客による見積もりの​​取得は、かなりうまくいきました。

Mage::app()->setCurrentStore(4);
$cart = Mage::getModel('sales/quote')->loadByCustomer($this->getApiUser()->getUserId());
$items = array();
foreach ($cart->getAllVisibleItems() as $key => $item) {
    $items[] = array(
        'name'                  => $item->getName(),
        'entity_id'             => $item->getProductId(),
        'description'           => $item->getDescription(),
        'final_price_with_tax'  => $item->getBasePriceInclTax(),
        'qty'                   => $item->getQty()
    );

}
于 2012-10-17T10:54:42.657 に答える