Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Темизация меню (template.php)

Темизация меню (template.php)
, by

Здравствуйте, в файл template.php вставляю следующий код


function имя_темы_menu_link__main_menu(array $variables) {

  $element $variables['element'];
  
$sub_menu '';

  if (
$element['#below']) {
    
$sub_menu drupal_render($element['#below']);
  }
  
$output '<span>'l($element['#title'], $element['#href'], $element['#localized_options']) .'</span>';
  return 
'<li' drupal_attributes($element['#attributes']) . '>' $output $sub_menu "</li>\n";
}

но тег <span> не появляется,

function имя_темы_links__system_main_menu(&$vars) {
  foreach (
$vars['links'] as &$link) {
    
$link['title'] = '<span>' $link['title'] . '</span>';
    
$link['html'] = TRUE;
  }
  return 
theme_links($vars);
}


такая конструкция работает, но обертка не там где нужно внутри тега <a><span></span></a>

Подскажите, пожалуйста в чем причина неработоспособности первой конструкции?

1 answer
votes: 1279
Answer

Попробуйте другую функцию темизации:
https://api.drupal.org/api/drupal/includes%21menu.inc/function/theme_menu_link/7 

имя_вашей_темы_menu_link()