【问题标题】:get quote's product attribute获取报价单的产品属性
【发布时间】:2013-02-05 11:08:17
【问题描述】:

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

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

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


解决方法:

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

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

【问题讨论】:

    标签: php magento attributes cart


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,谢谢,我终于设法得到了 producttype 属性的输出,所以也许我接下来会使用你的解决方案来针对特定语言 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多