Мне нужно вставить теги в пункте меню, что бы он выглядел как
меню
Вставляю теги в заголовок страницы, но друпал упорно убирает оттуда теги..
Где находится функция, которая обрабатывает меню перед выводом?
пользуюсь модулем Menu_block
Мне нужно вставить теги в пункте меню, что бы он выглядел как
Вставляю теги в заголовок страницы, но друпал упорно убирает оттуда теги..
Где находится функция, которая обрабатывает меню перед выводом?
пользуюсь модулем Menu_block
Комментарии
<a href="#"><span class="1">Пункт</span><br><span class="2">меню</span></a>
все.. охота на приведений закончилась..
ответ - надо теги вставлять не в заголовок страницы, а в заголовок пункта меню..
но для столкнувшихся с подобной проблемой в ссылках меню дам совет..
что бы в ссылках меню обрабатывался html надо в файле common.inc найти
function l($text, $path, $options = array())
и там исправить
$options += array(
'attributes' => array(),
'html' => FALSE,
);
на
$options += array(
'attributes' => array(),
'html' => TRUE,
);
Всем, кто случайно мо;ет прочитать: не надо трогать common.inc и вообще руками лазить в ядро
А то, чего хочет топикстартер делается в функциях темизации
airam ты красавчик, спасибо за совет)
Вставьте следующее в template.php и можно будет использовать тег br в пункте меню. (И незабудте очистить кэш)
Проверено на Drupal 7 работает, для шестой версии скорее всего не будет работать.
* Override theme_menu_link() to add line breaks in menu items
* that have a <br> or <br/> or <br /> placed in them.
*/
function YOURTHEME_menu_link(array $variables) {
$element = $variables['element'];
$sub_menu = '';
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
// Replace text line breaks with html line breaks.
$output = str_replace("<br>", "<br/>", $output);
$output = str_replace("<br/>", "<br/>", $output);
$output = str_replace("<br />", "<br/>", $output);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
После обновления ядра скажешь спасибо
разобрался