由于在开发的时候直接使用SQL动态创建了菜单,后测试人员反馈新建菜单都提示 MenusTableMenu::_getNode(1, ) failed.的错误。经过分析,是因为强行插入记录破环了Joomla菜单的树形结构导致的。

问题描述


新建菜单都提示 MenusTableMenu::_getNode(1, ) failed.的错误。

解决问题


出现这个错误,可能是因为强行在menu表中插入记录,破环了Joomla菜单的树形结构,在菜单管理界面点击重建后造成菜单根记录丢失的问题。

解决的方法就是在数据库中插入根记录。

登录phpmyadmin或者其他的数据库管理工具,在数据库中插入一条SQL语句。

INSERT INTO XXXXXX_menu (`id` ,`menutype` ,`title` ,`alias` ,`note` ,`path` ,`link` ,`type` ,`published` ,`parent_id` ,`level` ,`component_id` ,`checked_out` ,`checked_out_time` ,`browserNav` ,`access` ,`img` ,`template_style_id` ,`params` ,`lft` ,`rgt` ,`home` ,`language` ,`client_id` ) 
VALUES ( "1", "", "Menu_Item_Root", "root", "", "", "", "", "1", "0", "0", "0", "0", "0000-00-00 00:00:00", "0", "0", "", "0", "", "0", "0", "0", "*", "0")

请将其中的XXXXXX_menu改为你自己数据表的前缀 

接下来前往菜单管理,点击工具栏上的重建按钮,即可解决问题。

joomla菜单重建.png

评论 (0)

  • 最新在前
  • 最佳在前

Joomla! 除错面板

会话

方案信息

内存使用量

数据库查询