Magento模块将旧网址路由到控制器/操作

gan*_*007 1 routing magento

我在Magento之外创建了一个SOAP服务器(我们称之为www.example.com/soap/).该目录/soap如下所示:

example.wsdl
example_server.php
Run Code Online (Sandbox Code Playgroud)

我忽略了辅助类,因为用户没有看到它们.我想要做的是将此代码移动到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>
Run Code Online (Sandbox Code Playgroud)

Ala*_*orm 5

有条件的是,但不是你想的方式.<routers/>Magento配置中的标签设置了一种非常特定的路由选择.用简单的英语,你可以说

"以此<frontName/>为开头的网址应由此模块处理"

除此之外,没有其他方法可以通过配置单独设置自定义路由.

您可以做的是配置自定义路由器对象,然后编写PHP代码以实现您想要的路由逻辑.这个问题超出了简单的Stack Overflow答案,但您可以在本系列文章中了解完整的故事,或者在简单的页面模块中查看自定义路由的示例(自我链接).