明明安装了某个 Joomla 组件(不是模块,也不是插件,就是组件),但是在网站后台的“组件”菜单里面却看不到它!你是否也遇到过这种问题?今天来说说如何解决“Joomla 组件安装完毕在后台不显示菜单”的问题。
一般来说,除非特别的组件(很少见),绝大多数 Joomla 组件在安装之后,都会自动在网站后台的“组件”菜单上生成一个新的菜单项目。用户点击此条目就能进入该组件的后台管理界面。 如上图所示,即使一个刚刚完整核心安装、尚未添加任何第三方扩展的全新 Joomla 网站,后台的“组件”菜单上已经有了若干核心自带的组件对应的菜单项目。 问题假设你现在安装某个新组件(例如名叫 com_newapp),安装过程中没有报错,安装结束甚至都显示了“组件安装成功”这样的通知消息,但是你却在后台的“组件”菜单上找不到这个新增加的组件。虽然这种问题不太常见,但一旦发生,会让用户很困惑。开启 debug,也看不到任何出错提示。这个问题从哪里下手来解决呢? 首先来确认一下组件工作正常:直接通过手工输入网址方式来访问组件。例如在地址栏输入:
?
这个网站应该可以顺利打开,你看到了该组件的后台管理界面。这就证明组件安装没有问题,也能正常工作。只是缺了一个菜单项目。 通过 phpMyAdmin 查看网站数据库。找到 #_menu 这个数据表,此表储存网站上全部的菜单数据(包括后台菜单和前台菜单)。搜索 com_newapp 这个组件名称,应该能找到它。说明实际上在安装该组件过程中,系统已经生成了一个新的菜单项目,但由于某种原因,导致这个菜单项目未能显示出来。 解决办法产生这个问题的根本原因是:组件安装过程中,生成菜单项目时,该条记录在数据表里面有一个字段“component_id”,这个 ID 数字不正确,导致最后菜单项目无法显示。
正确的 component_id 在哪里呢? 正确的组件 ID 在扩展管理里面。请从网站后台进入“扩展 -> 管理”,将扩展类型筛选框选择为“组件”,就会列出站内所有的组件。找到未显示后台菜单的这个组件,在列表最后一列,就是 组件 ID 数字。
用这个正确的组件 ID 数字,替换 #_menu 数据表里面那个错误的 component_id 数字,然后保存数据表修改结果。现在刷新你的网站后台,应该能看到原来缺失的组件后台菜单显示出来了。 (责任编辑:最模板) |