getData不起作用,返回空

时间:2012-01-05 13:14:09

标签: magento

我创建了自定义属性,但是当我用我的方法显示它时,它不起作用!

看到是做...创建我的属性..

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$config = array(
    'position' => 1,
    'required'=> 0,
    'label' => 'Height',
    'type' => 'int',
    'input' => 'text',
    'apply_to' => 'simple,bundle,grouped,configurable'
);

$setup->addAttribute('catalog_product', 'height' , $config);

我收到结帐中的商品清单......

$items = Mage::getModel('checkout/cart')->getQuote()->getAllVisibleItems();

foreach($items as $item){

    echo $item->getSku() .'<br/>'; //just test... and all right!

    echo $item->getHeight() .'<br/>'; //return empty! or....
    echo $item->getData('height') .'<br/>';//return empty!
}

我在后端设置此属性的fiels中的值。

谢谢你的帮助!

2 个答案:

答案 0 :(得分:6)

默认情况下,您的属性可能未加载。如果不解决将height添加到集合addAttributeToSelect()语句的根本问题,那么作弊就是再次加载产品模型:

$product = Mage::getModel('catalog/product')->load($item->getProduct()->getId());
echo $product->getHeight();

但这并不能解决问题的根源,而是会触发其他数据库查询。

几个月前我问了一个类似的问题,关于加载包含更多信息的其他数据,虽然与单个模型的收集加载更相关:Retrieving additional data from already loaded Magento models

答案 1 :(得分:0)

尝试echo $ item-&gt; getProduct() - &gt; getHeight();