0

您好我正在尝试在我的脚本中选择一个自定义属性。

这是我的代码

$collection = Mage::getModel('catalog/product')->getCollection()

->addAttributeToSelect('jan')

->addAttributeToSelect('name')

->addAttributeToSelect('upc')

->addAttributeToSelect('ean')

->addAttributeToSelect('price')

->addAttributeToSelect('cost_price')

->addAttributeToSelect('subtitle')

->addAttributeToSelect('url_key')

->addAttributeToSelect('brand')

->addAttributeToFilter('sku', array('eq' => '30000387'));

然后我做一个 foreach 循环以通过 $collection 作为 $item

我可以使用 $item->getData('insert atttribute code here') 提取所有这些值

除了 cost_price 无论我做什么,我似乎都无法拉动我尝试过的 cost_price

$item->getData('cost_price')
$item->getCostPrice()

我曾尝试重新索引和删除缓存以防万一,但无济于事。该值肯定是填写在我选择的产品中。

非常感谢帮助。

4

2 回答 2

2

如果您总是希望加载 cost_price 属性(无需每次都必须在产品上调用 load),那么让它始终通过以下任一方式加载可能是一个更好的解决方案:

  • 转到后端,目录->管理属性->选择您的属性,然后为“在前端的产品视图页面上可见”和“在产品列表中使用”选择“是”
  • 在目录 config.xml 中添加 eav 属性:

    <product>
        <collection>
            <attributes>
                <name/>
                <url_key/>
                <price/>
                <special_price/>
                .....
                <cost_price/>
            </attributes>
        </collection>
    </product>
    

(不要编辑核心文件,创建自己的模块)

于 2012-11-01T07:00:40.063 回答
0

尝试这个

 <?php echo $_product->getResource()->getAttribute('cost_price')->getFrontend()->getValue($_product); ?>
于 2012-11-02T05:34:56.317 回答