2012-10-31 71 views
0

您好我想在我的脚本中选择一个自定义属性。Magento,只是不能选择自定义属性

这里是我的代码

$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循环都要经过$集合作为$项目

我能拉使用$用品 - >的getData所有这些值(”在这里插入atttribute代码“)

除cost_price不管我做什么,我似乎无法拉cost_price我曾尝试

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

我曾尝试重新编排和删除缓存以防万一,无济于事。这个价值肯定是填补了我选择的产品。

非常感谢。

+0

以数据库表eav_attribute看看,看看这一个cost_price,检查代码是一样的,如果它的权利属性组是4。你有一个大问题。 ;) – Guerra

+0

那么它存在于数据库entity_type_id是4.所以我想我有一个大问题。也许我会诉诸直接的SQL查询。 –

+0

尝试创建产品ID并加载它,如果属性没有显示,我将其取消,然后再放回 – Guerra

回答

2

如果你总是希望cost_price属性被加载(而不必调用在产品上加载每次),这可能是一个更好的解决方案,使其总是使用加载:

  • 要去后台,目录 - >管理属性 - >选择属性,并在前端产品视图页上显示“可见”和“产品列表中使用”选择“是”
  • 在目录配置中添加eav属性。 xml:

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

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

+0

我为'列表中使用的产品'选择了'是'。现在属性加载正常。奇怪的是,我的其他自定义属性加载正常,我不必设置此设置。 –

+0

这不适合我 – peedee

0

试试这个

<?php echo $_product->getResource()->getAttribute('cost_price')->getFrontend()->getValue($_product); ?>