Magento帮助在自定义类中创建模型
问题描述:
我正在尝试向我的magento模块添加一些自定义过滤器方法。我虽然它会很简单,但我不明白为什么它不起作用。Magento帮助在自定义类中创建模型
我的延伸目录/产品类模型包含此:
public function filterProdType($prod_id)
{
$this->addAttributeToFilter('attribute_set_id', $prod_id);
}
然后在我的模板,我有这样的:
$collection = Mage::getModel('configurator/product')->getCollection()->addAttributeToSelect('*');
$collection->filterProdType(50)->addAttributeToFilter('type_id', 'bundle');
foreach ($collection as $item){
echo $item->getName() . ', ';
}
刚刚尝试的事情了。
但我没有得到任何结果,没有错误,并且它没有完成渲染页面(缺少页脚)。
当我这样做,相反,它的工作原理:
$collection = Mage::getModel('configurator/product')->getCollection()->addAttributeToSelect('*');
$collection->addAttributeToFilter('attribute_set_id', 50)->addAttributeToFilter('type_id', 'bundle');
foreach ($collection as $item){
echo $item->getName() . ', ';
}
我只是想知道我错过了什么。
UPDATE:
我没有意识到错误报告被关闭,打开它后我得到的错误:
Fatal error: Call to undefined method
Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::filterProdType()
使用我的自定义模型实例$收集后认为,这将找到我的新方法。
答
当呈现这样的“停止”时,它几乎总是意味着Magento在试图在phtml文件中登录include
时遇到了PHP错误。看看你的PHP和/或Apache错误日志,看看PHP在抱怨什么。如果没有这些信息,有太多的变量来排除故障。
如果您绝对无法获取错误日志,请删除您的整个phtml文件,然后逐行逐块添加代码,直到您可以重现您的问题,然后找出最后的错误你刚刚添加的位。
我没有意识到错误报告被关闭,将其打开后,我得到的错误: 致命错误:调用未定义的方法Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection :: filterProdType() 使用我的自定义模型实例$收集后假设,它会找到我的新方法。 也许我应该把它放在我原来的帖子里。 :) – dardub 2010-05-24 16:42:53
您的自定义方法位于单个模型类上,但模板正在集合对象上调用它。 – 2010-05-24 17:23:30
对不起,我不确定你个人模特班的意思。我必须错过一些基本的理解。 顺便说一句,我想感谢你帮助我们与Magento新手。我之前已阅读过您的博客文章,但我认为我需要重新阅读。 – dardub 2010-05-24 18:06:03