Получение атрибутов товара в событии checkout_cart_product_add_after - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть наблюдатель для события Magento checkout_cart_product_add_after.Теперь мне нужно проверить, например, соответствует ли размер футболки тому, что пользователь дал Magento в моем пользовательском модуле.Как я могу получить эти атрибуты продукта в моем наблюдателе?

class Company_ModuleSizes_Model_Sizes_Observer extends Mage_Core_Model_Abstract
{

    public function check_sizes($observer)
    {       
        // Get quote item
        $event = $observer->getEvent();
        $quoteItem = $event->getQuoteItem();

        // How can I get product attributes from $quoteItem  ?

        return $this;
    }

}

Ответы [ 3 ]

4 голосов
/ 22 декабря 2011

попробуйте это:

$_options = $quoteItem->getProduct()->getData('your-attribute');
0 голосов
/ 03 июля 2012

Я использую этот код для получения атрибутов товара в Observer.php. Надеюсь, это кому-то поможет

$product->getResource()->getAttribute('selling_type')->getFrontend()->getValue($product);
0 голосов
/ 22 декабря 2011
<?php
class Company_ModuleSizes_Model_Sizes_Observer extends Mage_Core_Model_Abstract
{
    public function check_sizes($observer)
    {       
        // Get Quote Item
        $event = $observer->getEvent();
        $quoteItem = $event->getQuoteItem();
        $product = $event->getProduct();

        // The options provided by the customer is available using the following statement
        $_optionsQuoteItem = $quoteItem->getProduct()->getData('your-attribute');

        // The options which are available for the product in general is available using the following statement
        $_optionsProduct = $product->getData('your-attribute');

        // Now you can process your required logic in here, with the above two variables

        return $this;
    }
}

Надеюсь, это поможет.

...