Проблема при создании ссылок меню на середину страницы

Главные вкладки

Аватар пользователя Iliagi Iliagi 21 июня 2007 в 20:22

Пытаюсь создать в главном меню сайта ссылку на раздел страницы задаю адрес ru/index#order, в базу данных смотрю - сохраняется так, как задано. Но, в код страницы выдается как ru/index%23order, а при обработке ссылки это превращается в ru/index%2523order и, естественно, не работает.

Налицо двойной urlencode т.к. urlencode ("#") дает %23, а urlencode ("%23") дает %2523.
Кстати, даже с одинарным урленкодом браузеры не понимают эту ссылку.
У меня Drupal 5.1 c i18n-menu 5.x-2.1 (и другими модулями i18 5.x-2.1 и Pathauto 5.x-1.1).

Может быть кто-то знает как с этим бороться?

Комментарии

Аватар пользователя man man (не проверено) 28 сентября 2007 в 10:19

Кажется нашел.

function drupal_urlencode($text) {
if (variable_get('clean_url', '0')) {
return str_replace(array('%2F', '%26', '%23', '//'),
array('/', '%2526', '%2523', '/%252F'),
urlencode($text));
}
else {

return str_replace(array('%26', '%3D', '%2F'),
array('&', '=', '/'),
urlencode($text));
}
}

Просто подставляем в массив нужные символы.