我需要在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?
我还考虑按惯例假设每个段的值,以便为自己保存用于识别它们旁边的值的段,但是所有段都应该是可选的,所以我应该坚持上面的结构?如果我添加其余的搜索过滤器,那将是非常长的。
答案 0 :(得分:1)
如果您的XML检索是在您编写的自定义组件中完成的,则可以为组件添加路由器。有关如何执行此操作的信息,请参阅此处:http://docs.joomla.org/Supporting_SEF_URLs_in_your_component
您可以在网站菜单中添加一个菜单链接到您的组件,其中包含一个合适的别名,例如:然后,列表和Joomla路由器将在/ list /。
之后调用组件路由器