2010-10-07 59 views
3

所以我们试图通过一定的标准集合加载的产品,我们没有足够的SKU或ID,所以当我们做了以下Magento的:通过集合装载产品之间的差异比产品型号

$prodModel->getCollection() 
     ->addAttributeToFilter('visibility', $visibility) 
     ->addAttributeToSelect('*') 
     ->addCategoryFilter($cat) 
     ->addAttributeToFilter('attribute_1', $sattribute_1) 
     ->addAttributeToFilter('attribute_2', $attribute_2) 
     ->addAttributeToFilter('type_id', 'configurable') 
     ->load() 
     ->getFirstItem() 

当我们这样做时,我们得到了我们想要的产品,但由于某种原因它没有所有的属性,即使我们为所有属性指定了“*”。具体来说,我们没有得到的是媒体库属性。我们最终做的是说getFirstItem() - > getId()然后加载产品,它的工作发现。

我只是不明白乳清加载目录产品模型的产品会有更多的属性。

+2

我不知道你的问题的答案,但我可以证实Magento一直这样表现。有必要在单个产品上执行'load()'。我从来没有见过''*''属性选择器,你在法师代码库中看到过,还是在尝试? – 2010-10-07 21:14:02

+0

我们一直都在使用它,我在加载集合时看到过很多人的例子。我甚至可以尝试加载媒体库属性,但它仍然不会,我假设我不得不进行加入?但这就是为什么我想知道通过集合获得产品并加载它的区别 – 2010-10-08 01:52:48

回答

1

我明白你其实问到如何获得所有的属性,但我注意到你也特别提到媒体库属性。 碰巧有一个获取产品图片最终到达网址的捷径。

(string)Mage::helper('catalog/image')->init($product, 'media_gallery'); 

投射到字符串调用__toString它执行的聪明。初始化后,您也可以立即应用调整大小,旋转,水印等。