Hello,

I am attempting to nice menus to work with my primary links menu and running into some problems. A little background on what I have tried. First I got nice menus working as a block and put it in the header region. I set up some basic styling and for the most part it was working great, however for menu links with the ‘&’ character, clean URLs would strip and replace them with %26. function drupal_urlencode($text) at line 1870 of /includes/common.inc is the ultimate cause of this. The full call stack to get to this point is listed below as well as the line of code calling that function, however it is pretty confusing.

includes/common.inc.drupal_urlencode : lineno 1870	
includes/common.inc.url : lineno 1306	
- CALL:  $path = drupal_urlencode($path);
includes/common.inc.l : lineno 1395	
- CALL: return '<a href="'. check_url(url($path, $query, $fragment, $absolute)) .'"'. drupal_attributes($attributes) .'>'. ($html ? $text : check_plain($text)) .'</a>';
includes/menu.inc.theme_menu_item_link : lineno 701	
- CALL: return l($item['title'], $link_item['path'], !empty($item['description']) ? array('title' => $item['description']) : array(), isset($item['query']) ? $item['query'] : NULL);
sites/all/themes/zen/php/widgets.php.zen_menu_item_link : lineno 116	
- CALL: return theme_menu_item_link($item, $link_item);
includes/theme.inc.call_user_func_array : lineno 0	
includes/theme.inc.theme : lineno 171	
- CALL: return call_user_func_array($functions[$function], $args);
includes/menu.inc.menu_item_link : lineno 722	
- CALL: $link = theme('menu_item_link', $item, $link_item);
sites/all/modules/nice_menus/nice_menus.module.theme_nice_menu_tree : lineno 230	
- CALL: $output['content'] .= '<li id="menu-'. $mid .'" class="'. $path_class .'">'. menu_item_link($mid) .'</li>'."\n";
includes/theme.inc.call_user_func_array : lineno 0	
includes/theme.inc.theme : lineno 171	
sites/all/modules/nice_menus/nice_menus.module.theme_nice_menu : lineno 257	
- CALL: if ($menu_tree = theme('nice_menu_tree', $pid, $menu)) {
includes/theme.inc.call_user_func_array : lineno 0	
includes/theme.inc.theme : lineno 171	
sites/all/modules/nice_menus/nice_menus.module.nice_menus_block : lineno 168	
- CALL: if ($output = theme('nice_menu', $delta, $pid, $direction)) {
includes/module.inc.call_user_func_array : lineno 0	
includes/module.inc.module_invoke : lineno 386	
modules/block/block.module.block_list : lineno 707	
includes/theme.inc.theme_blocks : lineno 1021	
includes/theme.inc.call_user_func_array : lineno 0	
includes/theme.inc.theme : lineno 171	
themes/engines/phptemplate/phptemplate.engine.phptemplate_page : lineno 182	
sites/all/themes/zen/php/core.php.zen_page : lineno 9	
includes/theme.inc.call_user_func_array : lineno 0	
includes/theme.inc.theme : lineno 171	
index.php.{main} : lineno 33	

This is causing problems, as many of the URLs I need to link to have parameters and a link alias will not work (for example: http://localhost/professional?type=Designer&d=20&n=11811 ). So is there a way that nice menus can bypass the clean URLs? I can’t simply disable Clean URLs, as we use it on other parts of our site. Any ideas?

Comments

luxx’s picture

Status: Active » Fixed

looks like this is an issue with url params and mod rewrite is the solution
http://drupal.org/node/118072

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.