우리는 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>
확장 기능은 계층화 된 탐색 범주의 컨텍스트에서 작동하지만 자체 제품 모듈의 다른 (사용자 지정)보기에 임의의 제품 목록을 삽입 할 때 다시 작성된 클래스가 제대로 작동하지 않습니다. 테스트 목적으로 만 확장을 덮어 쓰면 모든 것이 제대로 작동합니다.
확장 개발자의 커뮤니티 코드를 편집하지 않고 자체 컨트롤러에 대해서만 확장의 재 작성을 어떻게 취소 할 수 있습니까?
<rewrite>
는 클래스 당 하나만 허용 하므로 핵심 클래스를 확장하는 자체 클래스를 만들 수는 있지만 getBlock('catalog/product_list_toolbar')
팩토리 메서드 를 통해 어떻게 작동하는지 잘 모르겠습니다 .