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

Мне нужно проверить действительность кода купона на странице оформления заказа / корзины с помощью кода на стороне сервера.

Magento уже поставляется с аналогичной проверкой на месте. Тем не менее, мне нужно добавить один, чтобы увидеть, подключен ли пользователь или нет: как лучше всего расширить / переопределить это действие в Magento?

Я знаю, что могу скопировать PHP-файл контроллера в дерево папок /app/code/local/, но мне интересно, есть ли лучший способ сделать это.

1 Ответ

11 голосов
/ 16 июня 2011

Все, кроме изменения core, на мой взгляд, хорошо.С учетом вышесказанного создайте простой модуль с каталогом контроллеров и т. Д. С config.xml:

<config>
    <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                         <My_Module before="Mage_Checkout">My_Module_Checkout</My_Module>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
</config>

Подробнее о расширении контроллера внешнего интерфейса см. Здесь: http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

...