Menu items disapearing after upgrading 5 to 6

avior - November 27, 2008 - 23:51

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

It's not permissions

avior - November 28, 2008 - 09:00

Thanks
It's not permissions - i am admin, all the modules are updated

any ideas

Dev Art- Drupal Based Services and development

I had the same a minute ago.

badabing - November 29, 2008 - 17:42

I had the same a minute ago. I disabled the translation module i8n. After that everything worked fine.
Maybe clear your cache and disable css/js caching?

Solved

avior - November 29, 2008 - 22:23

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

Thank You!!!

protoplasm - September 26, 2009 - 03:15

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

Great

avior - September 28, 2009 - 19:47

Great that it helped someone !

Almost there

lilott8 - December 18, 2009 - 15:44

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.

 
 

Drupal is a registered trademark of Dries Buytaert.