我試圖重寫Magento的目錄搜索功能,以便搜索條件使用'AND'而不是'OR'進行搜索。Magento類方法忽略不工作
做到這一點的「正確」方式,即更新證明,是創建我自己的模塊。所以這就是我所做的。不幸的是,這是行不通的。更新的方法未被調用。
這裏的配置文件部分:
<global>
<models>
<catalogsearch>
<rewrite>
<fulltext>MyNameSpace_MyModule_Model_CatalogSearch_Fulltext</fulltext>
</rewrite>
</catalogsearch>
</models>
</global>
我想覆蓋的方法是Mage_CatalogSearch_Model_Fulltext,和我其實在做一個「擴展」 - 例如,
class MyNameSpace_MyModule_Model_CatalogSearch_Fulltext extends Mage_CatalogSearch_Model_Fulltext
{
public function prepareResult($object, $queryText, $query)
{
die("It works...");
}
}
我如果你真的試圖重寫的類從來沒有用特定類的創建者方法調用,那麼在某處讀取「重寫」是沒有意義的。如果這是真的,這可能解釋爲什麼我的新類方法從來沒有使用過?
那麼在那種情況下,如何覆蓋這個方法呢?我在這裏做正確的事情嗎?
你的定義已經很好了。我注意到你的覆蓋函數有更多的參數,所以你應該給這些默認值(默認magento只有$ query = null)。您是否清除了緩存並檢查了啓用模塊中顯示的模塊。系統或異常日誌中的任何錯誤? – Ashley
謝謝阿什利 - 好的第一 - 函數聲明只是一個剪切和粘貼工作 - 不應該有任何額外的參數?!另外 - 系統或異常日誌中沒有任何內容。 – Mat
對不起 - 也已清除緩存和模塊顯示爲啓用 – Mat