After upgrading several Drupal sites from Drupal 5.x to Drupal 6.x, some of the menus have been lost almost on all of the sites.

I went looking in to MySQL database in the table menu_links and there I could see all the lost menu items written in the table, but the Drupal site wasn't showing them. I've tried to find out where there is a diference between workin and non-working menu items in menu_links table.

Here I'm posting two same menu items.
The first one is new, that I've manually created after upgrading --> it is working.
The second one in old, that has been upgraded from the older version of the site --> it isn't working.

FIRST ONE, NEW, MANUALLY CREATED --> IT IS WORKING

menu_name: menu-glavni-menu
mlid: 243
link_path:
link_title: Koristne povezave

options: a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}
a:1:{s:10:"attributes";a:1:{s:5:"title";s:0:"";}}:

module: menu
hidden: 0
external: 1
has_children: 1
expanded: 0
weight: -48
depth: 1
customized: 1
p1: 243

SECOND ONE, OLD, UPGRADED --> IT ISN'T WORKING

menu_name: menu-glavni-menu
mlid: 77
link_path: #
link_title: Koristne povezave

options: a:0:{}

module: menu
hidden: 0
external: 0
has_children: 1
expanded: 0
weight: 0
depth: 1
customized: 1
p1: 77

I guess that the difference is in "options:" parrameter, but I have no ideal how it is created.

I'm asking for some help.

Thanks.

Comments

rgraves’s picture

I am having this problem also, but the main difference for me seems to be an empty 'router_path' field in the menu_links table.

Example:

Working menu item:
menu_name: primary-links
mlid: 131
plid: 68
link_path: node/1249
router_path: node/%
link_title: Working Title
options: a:1:{s:10:"attributes";a:1:{s:5:"title";s:39:"Working Title";}}
module: menu
...
Non-working menu item:

menu_name: primary-links
mlid : 123
plid : 68
link_path: archives/
router_path:
link_title: Nonworking Title
options: a:1:{s:10:"attributes";a:1:{s:5:"title";s:40:"Nonworking Title";}}
module: menu
...