En este tutorial vamos a ver cómo se puede añadir un subtítulo a un elemento de menú de Joomla. Con este subtítulo podremos añadir unas cuantas palabras adicionales a cada ítem de menú que nos servirá para explicar mejor que hay detrás del enlace.
Esta funcionalidad no viene por defecto en Joomla, pero se puede integrar con un sencillo template override del módulo de menú del core de Joomla (mod_menu).
¿Cómo podemos insertar un subtítulo a cada item de menú?
Queremos insertar un subtítulo a nuestro menú para que se visualice de la siguiente forma:
Sin embargo Joomla no nos permite asignar ningún subtítulo a cada uno de nuestros items de menú. La solución que os proponemos en este artículo se realiza con un template override que funciona de la siguiente manera:
- Insertamos como nombre del menú el título + un carácter separador + el subtitulo. Por ejemplo si usamos la | como carácter separador podríamos construir Formacion | Cursos de Joomla
- Hacemos un template override al archivo default_component.php que se encuentra en modules/mod_menu/tpl. Por código detectamos donde está el caracter | para trocear el nombre del menú.
- Ahora que sabemos por dónde hay que cortar, solo tendríamos que añadir las etiquetas html que necesitemos y aplicar CSS para darle el aspecto visual que más nos guste.
El código que necesitáis añadir es el siguiente:
$parts = explode("|", $linktype);
// the "|" is the divider
if(isset($parts[1])){
$linktype = $parts[0].''.$parts[1].''; //Aquí se puede añadir un etiqueta span que envuelva $parts[1] y usar CSS para personalizarla.
}else{
$linktype = $parts[0];
};
Y hay que colocarlo después del siguiente fragmento:
$class = $item->anchor_css ? 'class="'.$item->anchor_css.'" ' : ''; $title = $item->anchor_title ? 'title="'.$item->anchor_title.'" ' : ''; if ($item->menu_image) { ... } else { $linktype = $item->title; }
Posiblemente existan muchas formas adicionales para insertar un subtitulo a un ítem de menú, pero esta nos ha parecido muy sencilla de realizar y no es necesario utilizar ninguna extensión. Nosotros la hemos aplicado en el sitio web de un cliente de nuestro Soporte Joomla y ha quedado muy satisfecho. Fácil de realizar y sobretodo fácil de utilizar.