在 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 中以编程方式创建菜单层次结构的主要内容,如果未能解决你的问题,请参考以下文章

Joomla:jroute & 在菜单层次结构中向上导航

以编程方式在Joomla中创建菜单项

dojo中以编程方式与以声明方式创建的小部件之间的区别?

在目标 c 中以编程方式替换菜单视图

如何在 Swift 中以编程方式启用/禁用菜单对象

iOS 如何在 AppDelegate 中以编程方式设置侧边栏菜单?