在 Joomla 中以编程方式创建菜单层次结构
Posted
技术标签:
【中文标题】在 Joomla 中以编程方式创建菜单层次结构【英文标题】:Programmatically creating menu hierarchy in Joomla 【发布时间】:2011-03-26 13:13:54 【问题描述】:假设我在数据库中有大量餐厅评论——不是 Joomla 文章,只是数据库表。我想将这些餐厅评论显示为 Joomla 1.5 网站的一部分。
我可以编写一个组件来显示每条评论。那部分很好。但是,我不想将评论列为页面上的列表,而是想使用漂亮的级联菜单,它是网站使用的 Joomla 模板的一部分。但我不想为每条评论一个一个地添加菜单项;我希望从数据库内容中自动生成菜单项。评论菜单应该“插入”网站的现有菜单结构(即,我想提供生成具有现有菜单项的菜单项的代码,以便它在该项目下生成自身)。
如何创建代码以编程方式创建该菜单?组件,插件,模块,...?菜单是在页面显示时生成的,还是在管理面板中“手动”生成的(无论哪种方式我都可以)。有这方面的例子吗?
【问题讨论】:
【参考方案1】:我认为最简单的方法是创建自定义菜单模块。绝对基本的只是在
中输出评论列表,然后使用一些 css 来设置列表的样式。【讨论】:
请注意,评论菜单应该“插入”网站的现有菜单结构(即,我想为以编程方式生成的菜单提供现有菜单项,以便它在该项目)。此外,菜单模块似乎只是为手动创建的菜单项设置样式——我还没有看到任何生成菜单项的东西? 在这种情况下,您应该修改标准菜单模块 mod_mainmenu。您需要将您的评论添加为那里的菜单位置。代码可能会变得相当复杂,但经过快速分析,您应该能够找到解决方法。【参考方案2】:我最终创建了一个组件,该组件可根据管理员请求一次创建整个菜单结构。它只是在 jos_menu 表中创建行,就好像菜单是手动创建的。更新层次结构很痛苦(我还没有完成那部分),但是从头开始创建结构非常简单并且效果很好。
【讨论】:
以上是关于在 Joomla 中以编程方式创建菜单层次结构的主要内容,如果未能解决你的问题,请参考以下文章