Что я помещаю в файл config.xml, чтобы переопределить действие linkAction в Downloadable (контроллер Magento)? - PullRequest
2 голосов
/ 21 сентября 2009

Я пытаюсь переопределить метод linkAction, чтобы можно было загружать загружаемые файлы в S3 и т. Д.

1 Ответ

3 голосов
/ 22 сентября 2009

Это стало значительно проще в ветке Magento 1.3. Все, что вам нужно сделать, это добавить это

<frontend>
    <routers>
       <downloadable>
         <args>
           <modules>
             <modulename before="Mage_Downloadable">Yourpackagename_Yourmodulename</modulename>
           </modules>
         </args>
       </downloadable>
    </routers>
</frontend>

Тег должен совпадать с тегом в модуле, который вы пытаетесь переопределить. Mage_Downloadable является префиксом имени класса того же самого. Yourpackagename_Yourmodulename - префикс имени класса вашего модуля.

Имея это, Magento сначала проверит контроллеры вашего модуля на предмет совпадения.

app/code/local/Packagename/Modulename/controllers/DownloadController.php

Если подходящее действие не найдено, оно возвращается к оригиналу. Обязательно ознакомьтесь с моей статьей журнала диспетчеризации диспетчера Magento для помощи в устранении проблем с маршрутизацией.

Что удивительного в этом подходе (в отличие от подхода переписывания ), так это вы

  1. Не нужно вручную запрашивать старый файл контроллера в вашем контроллере

  2. Вам не нужно предоставлять новые правила макета. Magento, кажется, волшебным образом сохраняет ручки макета такими, какими они были

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...