検索用語に「OR」ではなく「AND」を使用して検索するように、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...");
}
}
実際にオーバーライドしようとしているクラスが特定のクラスの「作成者」メソッドで呼び出されない場合、この「オーバーライド」を行う意味がないことをどこかで読んだことがありますか? これが本当なら、なぜ私の新しいクラス メソッドが使用されないのか説明できるでしょうか?
その場合、このメソッドをオーバーライドする方法は? 私はここで正しいことをしていますか?