0

您好我正在尝试从购物车项目中获取产品属性管理值或 ID(因为它是多语言)。我已经尝试过很多版本的代码,比如这个:

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

但我只会得到错误或空值。另外,我如何确保没有获得商店特定的语言值,而是属性管理值/id?也许有更好的方法可以直接从报价项目中读出项目属性,而无需先加载产品?提前致谢!


解决了:

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

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

4

1 回答 1

1

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

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

$value = $_product->getData('producttype');
于 2013-02-05T11:12:57.913 回答