Приветствую уважаемые!
Столкнулся тут с такой неприятностью: всем привлекательный модуль superfish menu,
только напрочь игнорирует ссылки вида o-kompanii#karta, o-kompanii#kadry и т.д.
остается только o-kompanii.
Решил проблему следующим образом: посмотрел в коде модуля функцию,
отвечающую за генерацию линков, theme_superfish_build($variables)
перебросил ее в template.php.
Посмотрел с помощью devel где обретается искомый хвост #kadry и дополнил функцию ...
цитирую от комментария, так как фунция очч. большая.
// Render the menu item.
// добавил переменную со старым урлом
$menu_my_link = $menu_item['link']['link_path'];
// если в массиве fragment что-то есть, типа #kadry то добиваем хвост в урл
if (array_key_exists('fragment', $menu_item['link']['options'])) {
$menu_my_link .= '#'.$menu_item['link']['options']['fragment'];
};
$output['content'] .= '
$output['content'] .= ($megamenu_column) ? '
' : '';
$output['content'] .= '
';
//казалось бы все все хорошо, только api друпала преобразовывает # в %23 и мы получаем
//"страница не найдена" щелкнув по ссылке
//вероятно есть способ дать понять api что я от него хочу, но честно говоря влом. поэтому --
$output['content'] = str_replace("%23","#",$output['content']);
}
}
$output['total_children'] = $total_children;
$output['parent_children'] = $parent_children;
$output['single_children'] = $single_children;
return $output;
вот и все, как ни странно все заработало. сам от себя не ожидал.
Буду рад, если кому пригодиться.
Комментарии
Спасибо большое за пост... пригодился очень... проблема не идентичная, но очень похожая... суперфиш резал параметры гет-запросов для пользовательских фильтров фьюхи... с небольшими изменениями адаптировал ваше решение... ещё раз спасибо...