Używamy rozszerzenia, które globalnie zastępuje blok Mage_Catalog_Block_Product_List_Toolbar.
<global>
<blocks>
<catalog>
<rewrite>
<product_list_toolbar>Amasty_Shopby_Block_Catalog_Product_List_Toolbar</product_list_toolbar>
</rewrite>
</catalog>
</blocks>
</global>
Podczas gdy rozszerzenie działa w kontekście warstwowej kategorii nawigacji, przepisana klasa nie działa poprawnie, gdy wstawimy dowolną listę produktów do innego (niestandardowego) widoku w naszym własnym module wewnętrznym. Jeśli wyjmujemy nadpisywanie rozszerzenia tylko do celów testowych, wszystko działa dobrze.
Jak możemy cofnąć przepisywanie rozszerzenia tylko dla naszego własnego kontrolera, bez edytowania kodu społeczności programisty rozszerzenia?
<rewrite>
na klasę, więc chociaż mógłbym stworzyć własną klasę rozszerzającą klasę podstawową, nie jestem pewien, jak sprawiłbym, żeby działała metodą getBlock('catalog/product_list_toolbar')
fabryczną.