我有以下代码:
$_productCollection = $this->getLoadedProductCollection();
foreach ($_productCollection as $_product)
{
if ($_product->_data['type_id'] == 'configurable')
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
虽然它做了它应该做的事情,但它大大减慢了页面加载时间.是否可以仅加载可配置产品并删除"可配置"检查?该商店有12000种产品,约700种可配置,其余为儿童简单产品.
我找到了以下代码,它返回所有可配置的产品.我只需要当前类别中的产品:
$collectionConfigurable = Mage::getResourceModel('catalog/product_collection')
->addAttributeToFilter('type_id', array('eq' => 'configurable'));
Run Code Online (Sandbox Code Playgroud) 在某些情况下,我交给的模型只包含我需要的一些数据,例如catalog/product不包含我可能需要使用的某些属性的实例,例如大小,小部件编号或腰围测量.
为了缓解这种情况,我目前的选择是:
addAttributeToSelect($name).Mage::getModel('catalog/product')->getId($product->getId()).对于我的问题:有没有一种方法可以选择我想在->load()调用之后加载到我的模型集合中的其他属性?另外,有没有一种方法可以在个别模型上执行此操作?