Модуль Magento направляет старые URL на контроллер / действие - PullRequest
1 голос
/ 03 февраля 2012

Я создал SOAP-сервер за пределами Magento (назовем его www.example.com/soap/). Каталог /soap выглядит так:

example.wsdl
example_server.php

Есть вспомогательные классы, которые я игнорирую, потому что пользователи их не видят. Я хочу переместить этот код в модуль Magento и использовать маршрутизатор, чтобы не заставлять пользователей изменять свои URL-адреса. Это возможно? Например, когда пользователь запрашивает www.example.com/soap/example.wsdl, я хочу перенаправить его на My_Newsoap_IndexController::wsdlAction().

Это то, что у меня сейчас есть в моем config.xml:

<frontend>
  <routers>
    <newsoap>
      <use>standard</use>
      <args>
        <module>My_Newsoap</module>
        <frontName>soap</frontName>
      </args>
    </newsoap>
  </routers>
</frontend>

1 Ответ

5 голосов
/ 03 февраля 2012

Условно да, но не так, как ты думаешь.Теги <routers/> в конфигурации Magento настраивают очень специфическую разновидность маршрутизации.Говоря простым языком, вы можете сказать

"URL-адреса, которые начинаются с этого <frontName/>, должны обрабатываться этим модулем"

Однако, кроме этого, больше нет способа настроить пользовательские маршруты по конфигурациив одиночестве.

Что вы можете сделать, это настроить пользовательский объект router , а затем написать PHP-код для реализации логики маршрутизации, как вы хотите.Как это происходит, выходит за рамки простого ответа о переполнении стека, но вы можете получить полную информацию в этой серии статей или посмотреть пример пользовательской маршрутизации в модуле простой страницы ,(собственные ссылки).

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