Попытка переписать коллекцию продуктов каталога


Я пытаюсь переписать коллекцию продуктов каталога Magento - в основном у меня есть определенное правило фильтрации, которое должно применяться каждый раз при загрузке коллекции продуктов, поэтому я полагаю, что лучше всего поместить ее непосредственно в коллекцию.

Однако я никогда по-настоящему не играл с этим раньше, и до сих пор мне не удавалось заставить его работать.

Соответствующая часть моего config.xml является

  <global>
        <models>
            <catalog>
                <rewrite>
                    <resource_product_collection>Lw_Restrict_Model_Resource_Product_Collection</resource_product_collection>
                </rewrite>
            </catalog> 

И для тестирования, мой app/code/local/Lw/Restrict/Model/Resource/Product/Collection.php просто содержит:

 <?php
 die("??");
 class Lw_Restrict_Model_Resource_Product_Collection extends Mage_Catalog_Model_Resource_Product_Collection {

     protected function _beforeLoad() {
         echo "Load!!";
         parent::_beforeLoad();
     }

 }

Поэтому, если я, например, перейду на страницу категории, я бы на самом деле ожидал, что страница умрет, а это не так!

Не мог бы кто-нибудь указать на какую-нибудь очевидную вещь, которую я явно пропустил, пожалуйста!!

Спасибо!

Author: Liam Wiltshire, 2015-05-19

2 answers

После некоторого дополнительного чтения я понял, что XML должен выглядеть так:

            <catalog_resource>
                <rewrite>
                    <product_collection>Lw_Restrict_Model_Resource_Product_Collection</product_collection>
                </rewrite>
            </catalog_resource> 
 6
Author: Liam Wiltshire, 2015-05-19 00:50:07

Ваша проблема в wrong calling для типа ресурса в config.xml

Это должно быть catalog_resource из catalog.

Согласно as, класс типа ресурсов magento catalog_resource является Mage_Catalog_Model_Resource

Смотрите в config.xml модуля Mage_Catalog:

 <catalog_resource>
                <class>Mage_Catalog_Model_Resource</class>
 2
Author: Amit Bera, 2015-05-19 04:35:33