logo

Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll

Tematización de menús (template.php)

29/07/2025, by Ivan
Foros

Hello, in the template.php file I insert the following code:

function theme_name_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";
}

But the <span> tag does not appear.

function theme_name_links__system_main_menu(&$vars) {
  foreach ($vars['links'] as &$link) {
    $link['title'] = '<span>' . $link['title'] . '</span>';
    $link['html'] = TRUE;
  }
  return theme_links($vars);
}

This construction works, but the wrapper is not where I need it — inside the <a><span></span></a> tag.

Could you please explain why the first construction does not work?