我会用另一种方式来回答你的问题。
问题是因为没有产品属性children_count
,它可能是您的示例 magento 站点中不存在的特定属性。
要开发该部分,最好在添加过滤器之前先检查属性是否存在,以防止代码在大多数 magento 站点中工作。
检查属性是否存在:
/**
* Check if attribute exists before add it to product filter
*/
private function _checkIfAttributeExists ($attribCode) {
$entity = 'catalog_product';
$attr = Mage::getResourceModel('catalog/eav_attribute')
->loadByCode($entity, $attribCode);
if ($attr->getId()) {
return true;
}
return false;
}
这样就可以消除胎儿错误:
if ($this->_checkIfAttributeExists('children_count')) {
Mage::getModel('catalog/category')->getCollection()->addFieldToFilter('children_count','0');
}
这可能对其他人有帮助。