Как правильно переопределить модель в Magento? - PullRequest
4 голосов
/ 05 июля 2011

ребята.

Мне нужно переопределить 2 функции в разных классах (CatalogSearch / Layer.php и CatalogSearch / Mysql4 / Fulltext / Collection.php).Итак, у меня есть файл конфигурации:

<config>
    <modules>
        <my_modulename>
            <version>0.1</version>
        </my_modulename>
    </modules>
    <global>
        <models>
            <catalogsearch>
                <rewrite>
                    <layer>My_Modulename_Model_CatalogSearch_Layer</layer>
<mysql4_fulltext_collection>My_Modulename_Model_CatalogSearch_Mysql4_Fulltext_Collection </mysql4_fulltext_collection>
                </rewrite>
            </catalogsearch>
        </models>
    </global>
</config>

Следовательно, Layer.php был переопределен правильно, но Collection.php не имеет - '/ local / My / Modulename / Model / CatalogSearch / Mysql4 / Fulltext/Collection.php 'даже не был включен.Зачем?

Спасибо за любую помощь.

1 Ответ

8 голосов
/ 05 июля 2011

Модели ресурсов, вероятно, обрабатываются отдельно, попробуйте это:

<global>
    <models>
        <catalogsearch>
            <rewrite>
                <layer>My_Modulename_Model_CatalogSearch_Layer</layer>
            </rewrite>
        </catalogsearch>
        <catalogsearch_mysql4>
            <rewrite>
                <fulltext_collection>My_Modulename_Model_CatalogSearch_Mysql4_Fulltext_Collection</fulltext_collection>
            </rewrite>
        </catalogsearch_mysql4>
    </models>
</global>
...