Christoffer Bubach
Christoffer Bubach

Reputation: 1686

get quote's product attribute

Hi I'm trying to get a product attribute admin value or id (since it's multilanguage) from the cart items. I've tried many versions of code like this one:

    $session = Mage::getSingleton('checkout/session');
    foreach ($session->getQuote()->getAllItems() as $item) {
        $_product = Mage::getModel('catalog/product')->load($item->getId());
        $attribute = $_product->getAttribute('producttype');
    }

But I only ever get false or null. Also how can I be sure to not get the store specific language value, but the attributes admin value/id? Maybe there's an even better way to read out the item attributes directly from the quote items without having to load the product first? Thanks in advance!


Solved with:

    $session = Mage::getSingleton('checkout/session');
    foreach ($session->getQuote()->getAllVisibleItems() as $_item)
    {
        $_product = Mage::getModel('catalog/product')->load($_item->getProductId());
        $attributeId = $_product->getProducttype();
    }

and comparing by value ID instead of text.

Upvotes: 0

Views: 1566

Answers (1)

Oleg Ishenko
Oleg Ishenko

Reputation: 2233

If you need to get the product's value for a specific shop, while the items in the quote belong to a different store view, you can do the folowing:

$_product = Mage::getModel('catalog/product')
    ->setStoreId($adminStoreId)
    ->load($item->getId());

$value = $_product->getData('producttype');

Upvotes: 1

Related Questions