1

特定の製品が追加されるたびにカートをクリアするために、オブザーバーを設定しsales_quote_add_itemました (単独で注文することになっています)。追加しようとしている製品の製品 ID を取得する方法がわかりません。いくつかの試行錯誤で、私はこれを思いつきました:

    $tmp = $observer->getEvent()->getQuoteItem()->getData();
    echo $tmp['product_id'];

これはかなり醜い解決策のようです。これを呼び出すためのショートカットまたは適切な機能があると確信していますが、アイデアはありますか?

4

2 に答える 2

1

次のコードを使用して、見積もりアイテム データの製品 ID を取得します。

$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) 
{
   $productId = $item->getProduct()->getId();
}

これがお役に立てば幸いです。

于 2013-01-28T09:39:37.920 に答える
1

あなたの解決策は十分です

$productId = $observer->getEvent()->getQuoteItem()->getProductId();

必要に応じて製品をロードできます

$product = Mage::getModel('catalog/product')->load($productId);
于 2013-01-28T09:43:45.293 に答える