【发布时间】:2013-11-15 18:11:38
【问题描述】:
我需要在 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?
我还考虑按惯例假设每个段的值,以便为自己节省用于识别它们旁边的值的段,但它们都应该是可选的,所以我应该坚持上面的结构?如果我添加其余的搜索过滤器,它会非常长。
【问题讨论】:
-
在侵入 Joomla 核心或以更难的方式尝试之前,您是否看过Joomla Extensions Directory 上的一些免费“房地产”扩展?不幸的是,我还没有测试过它们中的任何一个,所以不能给出任何明确的意见,但是请尝试一下,因为它们可以为您节省很多时间:)
-
嗨 Lodder,是的,我检查了它们,但好的似乎是商业的。更重要的是,在我们的例子中,所有数据都必须从我们在原始服务器中创建的 API 以 xml 格式检索(不要问为什么,他们想要那样)。因此,不会进行任何数据库交互,这就是所有房地产扩展都会处理的问题。
-
好问题! “简单自定义路由器”扩展有帮助吗? extensions.joomla.org/extensions/site-management/sef/21251
-
谢谢尼尔!看起来像一个很好的扩展!我正在对其进行测试,并且可以访问我创建的自定义路线。但是,我对发送的变量有疑问。例如,这是我为显示一个属性而创建的路由:property/(\d+),等于:option=com_content&view=article&id=92&id={1},在这两种情况下我都显示同一篇文章(带有自定义PHP)。假设 {1} 将被解析为第二段中指定的数字。但是,似乎 id 不会获得任何价值。因此显示的属性配置文件没有数据。
-
我最近碰巧创建了一个 Joomla 扩展,用于显示来自 XML 提要的属性(在本例中为 DezRez)。看看这里:bit.ly/185UTDK