magento-产品模型和产品集合项在平面目录模式下具有不同的属性
我只知道如果我有一个产品集合(例如在目录页中生成的集合) //事件目录\u产品\u集合\u加载后 $productCollection=$observer->getEvent()->getCollection() 如果我从这个集合中获取一个项目,并将其与相对模型进行比较 $\u product=Mage::getModel('catalog/product')->load($item->getEntityId()) 同一实体的这两个安装具有不同的属性 我在平面目录模式下工作。 为什么该系列的商品与产品型号不同? 我想知道这是否是正确的行为,以及如何在两个对象中具有相同的属性magento-产品模型和产品集合项在平面目录模式下具有不同的属性,magento,collections,properties,Magento,Collections,Properties,我只知道如果我有一个产品集合(例如在目录页中生成的集合) //事件目录\u产品\u集合\u加载后 $productCollection=$observer->getEvent()->getCollection() 如果我从这个集合中获取一个项目,并将其与相对模型进行比较 $\u product=Mage::getModel('catalog/product')->load($item->getEntityId()) 同一实体的这两个安装具有不同的属性 我在平面目录模式下工作。 为什么该系列的商品
抱歉,但是magento非常暗:(因为
Mage::getModel('catalog/product')->load($item->getEntityId());
加载产品的所有属性,集合只加载与实际情况不同的指定属性。您可以找到(CTRL+F)在app/code/core/Mage/Catalog/etc/config.xml
类似于attributes
的地方,您将看到产品集合的所有默认加载属性的列表。您也可以在模块中或直接在Catalog config.xml中更改它们。但是在app/code/core/Mage/Catalog/etc/c中更改某些内容不是最好的主意onfig.xml
除了调试之外对于具有平面模式的目录产品集合,向项目集合添加属性更为复杂。
产品项中的属性是目录\u产品\u平面表和产品实体的EAV属性之间的连接。
因此,在产品模型中:
- 集合我们将目录\产品\平面表和EAV属性连接起来
- getModel('catalog/product')我们拥有所有EAV属性
Magento 1.5版是的,太棒了!我有一个扁平的catalog_产品表,现在我看到我要检索的属性“image”不在这个表中!但这存在于产品的EAV结构中,它也应该存在于平板中……有些地方出错了!:(