Jooma自定义组件Router.php未被调用

时间:2013-08-07 16:27:13

标签: joomla joomla2.5 joomla3.0

我正在使用Joomla 3.1。

我的组件中的router.php文件出现了一个奇怪的问题。

我有一个基本的router.php文件,还没有做太多,在我添加我的功能之前我需要让它实际上先处理基本的东西。

我有一个菜单项,其中组件设置为项类型。查看主页会显示我创建的视图。

对于链接,如果我使用以下内容:

echo JRoute::_('index.php?option=com_vacations&view=test&cat=123');

我明白了:

http://mysite/en/component/vacations/?view=test&cat=123

我不希望显示“组件/假期”。所以我试过这个:

echo JRoute::_('index.php?view=test&cat=123');

我得到了:

http://mysite/en/?view=test&cat=123

看似正确,但第二种方法永远不会触及我的router.php。这意味着我无法改变它以显示如下内容:

http://mysite/en/test/123

如何解决这个问题,以便通过router.php解析网址?

1 个答案:

答案 0 :(得分:1)

使用JRoute创建指向应用程序的链接时,请始终像第一个代码一样创建完整查询:

echo JRoute::_('index.php?option=com_vacations&view=test&cat=123');

当您实际编写路由功能时,路由器将作为路由器工作。如果没有这些,您的rooter将使用默认的joomla路由标记返回链接(如此http://mysite/en/component/vacations/?view=test&cat=123)。 查看来自任何joomla组件的代码,例如 com_weblinks 。它将帮助您了解整个过程。您可以在此处找到它:/components/com_weblinks/router.php