的Magento - > getSku()或的getData( 'SKU')返回空字符串

Him*_*ack 16 php magento

我有Magento 1.3.2,我有一个奇怪的问题:

当我在list.phtml,我尝试使用,以获取SKU getSku()getData('sku')我得到空字符串.getName()确实有效.但是,当我从其他页面执行此操作时,它运行良好.

var_dump没有显示SKU.

是什么导致这个?

Pra*_*ski 46

我很惊讶没有人给你最简单,最恰当的答案:

转到您的管理员,目录>>属性>>管理属性.然后编辑'sku'属性.更改"使用过的产品清单中""无""有".然后,您将拥有从产品对象访问它list.phtml->getSku()

  • 这应该是公认的解决方案,接受的解决方案将导致过载和性能问题 (2认同)

Jon*_*Day 25

另一种选择是使用您已有产品的ID重新加载list.phtml中的产品对象.代码读取的内容有点像:

$sku = Mage::getModel('catalog/product')->load($_product->getId())->getSku();
Run Code Online (Sandbox Code Playgroud)

请注意,$ _product已经在您的集合中获得,并注意getSku区分大小写(所有Magento属性都是getter/setter).

@ Prattski的解决方案是可取的,因为你真的不想搞乱加载/操纵对象,但听起来好像你的收藏有点搞砸了.SKU是基catalog_product_entity表中存在的核心字段之一,因此不会被加载.

  • 亲爱的未来读者,如果在foreach循环中使用此解决方案,则该解决方案会对性能产生很大的影响. (3认同)