7

I use the Admin Menu module for my projects. In my Drupal 7 and Pressflow 7 instances, it randomly shows only some menu items.

At first, I thought I could correct this by clearing menu cache. When I went to the front page, I once again got the corrupted menu.

wrong

correct

How do I solve this error, permanently?

I found out this issue is reported in detail, but there is only a workaround (disable menu caching).

I disabled menu caching with drush vset admin_menu_cache_client 0 as a workaround. (I am still testing this issue with the menu cache enabled.)

I checked and eliminated JavaScript errors using Firebug browser extension.

I removed BOM from *.js files as suggested in this answer.

  • 1
    This workaround is simplier to apply if you have Drush. It's the same as the above, just easier. Did you check for BOM corrupted modules on your intallation ? – Countzero Apr 3 '12 at 8:36
  • I did in linux bash: find . | xargs grep -l $'\xEF\xBB\xBF' > /tmp/bom.txt and I found that a number of files *.js *.png *.jpg *.gif in /sites/all/libraries contain BOM characters. Should I also correct image files? – Refineo Apr 3 '12 at 8:46
  • I don't think so, but the js files may definitely need attention. – Countzero Apr 3 '12 at 8:48
  • Are you sure its not just an authorization/role settings problem? – whitefleaCH Apr 3 '12 at 9:45
  • 1
    I don't think so, I use uid 1 and I still get this error. – Refineo Apr 3 '12 at 9:52
4

Add this to the bottom of your settings.php file:

$conf['admin_menu_cache_client'] = FALSE;

  • Cache menu in client-side browser in Modules > Administration Menu > Configure doesn't worked for me, but this one does. – sobi3ch Nov 9 '16 at 11:56
3

Modules > Administration Menu > Configure

In the Performance tab, untick Cache menu in client-side browser.

Save configuration.

0

There is an option for rebuilding, although it refreshes all the menus. If the user has the permission to access that menu, it will be shown.

0

I had issues with this, but it had to do with the mod_rewrite module in Apache's config file (httpd.conf). Make sure it's not commented out!

This:

LoadModule rewrite_module modules/mod_rewrite.so

Instead of this:

# LoadModule rewrite_module modules/mod_rewrite.so

As soon as I did that, my admin menu appeared again and it fixed another issue with my configuration changes not saving.

0

In your profile settings: uncheck the "Use the overlay for administrative pages." option under "Administrative overlay".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.