获取报价的产品属性

时间:2013-02-05 11:08:17

标签: php magento attributes cart

您好我正在尝试从购物车商品中获取产品属性管理员值或ID(因为它是多语言)。我尝试了很多这样的代码版本:

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

但我只会得到假或无效。另外,我怎样才能确保不获取商店特定的语言值,但属性admin值/ id?也许有更好的方法可以直接从报价项中读出项目属性而无需先加载产品?提前谢谢!


解决:

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

并按值ID而不是文本进行比较。

1 个答案:

答案 0 :(得分:1)

如果您需要获取特定商店的产品价值,而报价中的商品属于不同的商店视图,您可以执行以下操作:

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

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