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 解析 url?

4

1 回答 1

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

于 2013-08-10T23:06:06.197 回答