While redoing the Eltham Model Railway Club site I got the
MenusTableMenu: :_getNode Failed whenever I tried to add a new item to any menu, even ones that were new. The admin part wasn’t working either so new modules could not be installed.
It turns out the issue is that in the menu table the record with
id = 1 is missing. This record is important to the creation of new menu items. I suspect it got deleted when I tried to delete the default home page, and the system deleted something it shouldn’t have.
The fix is easy though. Access phpmyadmin and select the database for your Joomla 3 installation. Browse the records and look for a record with the
id equal to 1. If it’s missing then that is your problem.
To restore it click on the SQL tab and copy and paste the following into the text box. Click GO and the record should be restored.
INSERT INTO `yourprefix_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, 181, 0, '*', 0);
If this fails try doing a fresh install of Joomla 3 and then grab the id=1 record from the new database. This is where I grabbed the code above.