2013-04-23 55 views
0

我使用聪明的cms模块来管理一些基本的cms页面。现在我想添加一些自定义行为到聪明的cms使用的路线之一。一个例子:Magento - 覆盖其他模块的其他路由

example.com/cms/page // <- a normale cms page 
example.com/cms/category // <- another module should do it's stuff here 

当我做一个新的模块,我只能覆盖整个CMS路线,而不是插在自己仅cms/category

有没有办法做到这一点?

回答

0

如果您正在创建新的控制器,这很容易;只需利用本地功能将多个控制器目录映射到正面名称即可。在你的模块配置:

<frontend> 
    <routers> 
     <cms> 
      <args> 
       <modules> 
        <your_module after="Mage_Cms">Your_Module</your_module> 
       </modules> 
      </args> 
     </cms> 
    </routers> 

这将允许请求映射到你/模块/控制器/ CategoryController.php

+0

哼,这似乎不起作用。也许我的问题不准确。聪明的CMS让你通过管理面板配置你自己的路线。像这样的网址:'example.com/info /'。在此路线下,可以有多个路线,例如'example.com/info/product_1'或'example.com/info/products/books'。我现在想拥有这样的东西:'example.com/info/category'。你的代码可以让我有一个路由,如:'example.com/cms/category'。如果我在xml中将'cms'更改为'category',它不起作用。 – Philip 2013-04-23 13:29:15

+0

啊,我不知道聪明的CMS如何添加路线。如果你想添加一个新的名字到标准路由器(例如site.com/category),你将需要为该名字添加配置XML,但我怀疑这不是你的目标 – benmarks 2013-04-23 15:06:04

+0

哼,不,那不是我想要的。好的,谢谢我继续挖掘聪明的cms代码。 – Philip 2013-04-23 15:19:21