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

时间:2012-02-03 00:01:45

标签: magento routing

我在Magento之外创建了一个SOAP服务器(我们称之为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 个答案:

答案 0 :(得分:5)

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

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

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

您可以做的是配置自定义路由器对象,然后编写PHP代码以实现您想要的路由逻辑。这个问题超出了简单的Stack Overflow答案,但您可以在this series of articles中获取完整的故事,或者在the simple page模块中查看自定义路由的示例(自我链接)。