2

我需要在 Joomla 3.x 安装上在线创建一个房地产代理。由于自 v1.5 以来我没有在 Joomla 中编写任何代码并且我几乎忘记了所有内容,而且由于时间不够,我决定使用一个插件来在文章中嵌入 PHP 代码。所以我用一篇文章来列出属性(房地产),别名是“list”,另一篇别名是“property”来查看一个属性。

一切都已启动并运行,除了我使用唯一的 URL 进行任何搜索,这对定位来说是不行的。搜索变量通过 POST 发送,而不是使用 SEF URI,因为 Joomla 路由器会干扰。要查看属性,我这样做

www.example.com/property?id= *property_id*

我一直在寻找破解或覆盖 Joomla 路由器的解决方案,如下所示: http ://docs.joomla.org/J2.5:Creating_a_System_Plugin_to_augment_JRouter

但是我缺少一些东西,或者我没有得到它,因为我仍然无法阻止 Joomla 路由器自行管理一些我想使用的路由。

我想使用类似的东西

www.example.com/list/mode/rent/type/house/city/fooville/area/downtown

但是第二段被解析为文章id,任何额外的段都会导致404错误。我应该怎么做才能解析这样的 URL?

我也在考虑按惯例假设每个段的值,以便为自己保存用于识别它们旁边的值的段,但它们都应该是可选的,所以我应该坚持上面的结构吗?如果我添加其余的搜索过滤器,那将会非常长。

4

1 回答 1

1

如果您的 XML 检索是在您编写的自定义组件中完成的,您可以为您的组件添加一个路由器。有关如何执行此操作的信息,请参见此处:http: //docs.joomla.org/Supporting_SEF_URLs_in_your_component

您将在站点菜单中添加一个菜单链接到您的组件,并使用适当的别名,例如 list,然后 Joomla 路由器会为 /list/ 之后的所有内容调用您的组件路由器。

于 2014-01-29T15:04:42.890 回答