HI
I have just finished upgrading site from 5.7 to 6.6 and alot of the menu items disappeared ,
usually the ones that where defined in the node itself - i mean that the user will add or update a node (story / page) and set the menu properties from there (not from admin -> build -> menu )

from my check in the new site , when loading the node for edit, the "menu parent" if set to a different parent than the one that used by the 5.5 site

5.5 it was set to my custom menu
6.6 after upgrade (when i load the node) it was set to "primary items" - but when i look there, there are no items there

is there any documentation about the menu tables and the fields (like 'menu_links' and all the fields) ?

Any help will be appreciated

Comments

avior’s picture

Hello again

I have solved the issue, the cause of the problem is a combination of 2 things
1. drupal 5 menu system isn't validating the url of the items
2. I was using dhtml_menus , and i have used 'parent' menu item to group items, it is used to open/close the "sub" menu , so there were parent elements that had an invalid url (just to make it more readable)

all those item & the items that were a children of those items disappeared

steps to solve this issue
use phpmyadmin to check if this is the issue in your site

SELECT * FROM `menu_links` where  `router_path` ='' and menu_name not in ('primary-links' ,'admin_menu')

you can see all the parent elements that that disappeared
so just update now to a valid url (like 'node')

update menu_links set link_path ='node' WHERE `router_path` = ''
AND menu_name NOT IN ('primary-links', 'admin_menu')

now use devel module block "rebuild menus" or call the api by yourself and all the menus are back

hope this helps someone

Dev Art- Drupal Based Services and development

protoplasm’s picture

I had a similar problem and this solution worked perfectly and restored my menus fully. Thank you so much. You saved me hours!
protoplasm

protoplasm

avior’s picture

Great that it helped someone !

lilott8’s picture

That worked. The only problem with it is that it doesn't take into account links that are views. So you should do an update with a select subquery. I'm working on it now.