Созонов Алексей

Веб-разработчик

Добавить тег span к ссылке в меню / перезаписать ссылку в меню

09.08.2015

Чтобы изменить ссылку в любом меню, надо добавить следующий код в template.php:

function yourtheme_menu_link(array $variables) {
    $element = $variables['element'];
    $sub_menu = '';
    // замените 'menu_link__menu_block__1' названием того меню, элементы которого вы хотите изменить
    if ($element['#theme']['0']=='menu_link__menu_block__1') {
        if ($element['#below']) {
            $sub_menu = drupal_render($element['#below']);
        }
        $title= $element['#title'];
        // добавляем span вокруг названия элемента
        $element['#title']='<span class="yourclass">'.$title. '</span>';
        $element['#localized_options'] += array(
            'attributes' => array(),
            'html' => TRUE,
        );
        $output = l($element['#title'], $element['#href'], $element['#localized_options']);
        return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
    }
    // для остальных меню оставляем все как было
    if ($element['#below']) {
        $sub_menu = drupal_render($element['#below']);
    }
    $output = l($element['#title'], $element['#href'], $element['#localized_options']);
    return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}

#Drupal