2
我正在嘗試向我的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()
使用我的自定義模型實例$收集後認爲,這將找到我的新方法。
我沒有意識到錯誤報告被關閉,將其打開後,我得到的錯誤: 致命錯誤:調用未定義的方法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