I'm using Dynamic Persistent Menu (DPM) but I can't make it work. I have a Main Menu, most of the items have children, and since I don't want those parents to be links I'm using Special Menu Items module (I mention this in case there could be a conflict).

I installed DPM; then go to config > User interface > DPM, add new and select Main Menu as the Menu Root and save. I haven't found any steps to follow from there, so I figured that was it, but the children items do not show up. I tried enabling the DPM block but then I get a blank site.

Anyone who has used this module, could you guide me through it? I need the exact functionality this module provides, and from what I've seen neither Superfish nor Nice Menus modules can do this.

Thank you for any help :)

1 Answer 1


Yes, as you mention, their is a conflict between the Dynamic Persistent Menu and Special Menu Items modules.

Dynamic Persistent Menu adds a CSS class (.dynamic-persistent-menu-menu-item) to all <li> elements of a menu that is overridden by Special Menu Items.

This bug comes from the special_menu_items.module file, line 64. You can remove the following code:

$element['#attributes']['class'][] = 'nolink';
$element['#attributes']['class'][] = 'separator';

EDIT: The main bugs come from Dynamic Persistent Menu. As you know, the class attribute passed to theme_menu_link() should be an array, but in Dynamic Persistent Menu a string is passed.

So your WSOD (blank page) comes from theme_dynamic_persistent_menu_menu_item() in Dynamic Persistent Menu, where a string is passed instead of array.

When Special Menu Items tries to override it, a fatal error is presented.

  • @ Mohammad. It worked, thank you! I would've not thought of looking into those specific lines so you saved me a lot of time and headaches :)
    – brunn
    Commented Apr 12, 2012 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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