Usando un menú oculto

Escrito por | 31 Enero 2015 | Publicado en Febrero 2015
¿Has tratado alguna vez de insertar en un artículo un enlace hacia otro artículo, sin agregar el artículo a enlazara a tu menú principal, pero te has quedado frustrado tratando de mostrar módulos junto con el artículo? La respuesta para poder mostrar módulos está en usar un menú oculto (también llamado menú invisible).
Usando un menú oculto Andrea Kekan

El menú oculto

Muchos clientes quieren controlar qué módulos mostrar en la página de un artículo que está siendo llamado a partir de un enlace desde otro artículo. La respuesta simple: para que eso funcione puedescrear un menú invisible con un ítem de menú que enlaza el artículo como "Mostrar un solo artículo".

Es una técnica simple que posibilita mostrar uno o más módulos en sus posiciones asignadas y manejarlos como es usual sólo con crear un ítem de menú en un menú oculto. Se llama menú oculto o invisible porque se publica en una posición de módulo que no se muestra en ninguna parte en la web (NOTA: otra variante es NO crear un módulo de menú). Esta misma técnica es usada para crear páginas de aterrizaje (landing pages).

¿Por qué tener un menú oculto o invisible?

Muchos administradores web en Joomla! 2.5 o 3.x instalan y usan JCE u otro editor similar. JCE, por ejemplo, ofrece la facultad de agregar enlaces a contenidos relacionados facilmente a través del botón de enlaces.

Cuando quieres insertar un enlace dentro del texto de un artículo hacia otro artículo o enlazar un artículo dentro de un módulo de HTML perzonalizado, puedes usar el botón de enlaces de JCE y elegir enlaces internos (menús, contenido, archivos) o enlaces externos (insertando directamente una url que empiece con http://).

Screenshot 056Cómo crear enlaces usando JCE

Screenshot 051Artículo con un enlace directo a otro artículo

Screenshot 053El módulo que queremos mostrar con este artículo no aparece

El problema es que cuando pinchas en el enlace para mostrar el contenido en el sitio, los módulos que quieres mostrar no aparecerán. La solución para mostrar los módulos es agregar un ítem de menú enlazando al artículo en un menú oculto.

¿Cómo crear un menú oculto?

La solución es fácil de implementar, sólo necesitas crear un nuevo menú llamado "Menú oculto" o "Menú invisible" que nunca será mostrado.

Screenshot 046Creación de un nuevo menú

En este menú agregas un ítem para el artículo que quieres enlazar y luego usas este mismo ítem de menú para controlar la visibilidad de los módulos relacionados con el artículo.

Screenshot 057Creación de un ítem de menú hacia el artículo

¿Por qué funciona?

Cuando navegas dentro del sistema de menús para llegar a un artículo, Joomla sabe cual ítem de menú has pinchado para mostrar y este ítem de menú muestra un componente (com_content en el caso de artículos), con un tipo de vista (Artículo solo), el número de identificación (ID) del artículo y la lista de módulos que están seleccionados para ser mostrados con el artículo. La versión corta: el ítem de menú conoce todas las respuestas para mostrar el artículo apropiadamente.

Cuando seleccionas un artículo específico como destino del enlace, lo que Joomla sabe de la url (no SEF) es que quieres mostrar el contenido de un componente específico como com_content con una id propia, por ejemplo artículo id=123. Basado sólo en esta información, el sistema sabe como obtener el artículo de la base de datos, pero no sabe nada sobre el contexto - qué tipo de artículo es, qué otro contenido puede estar relacionado y qué módulos tienen que ser mostrados junto con él. Joomla! ha sido programado para que conociendo la id del artículo, pueda buscar en la base de datos por ítems de menú que estén enlazados con este artículo. Si encuentra uno, Joomla lo usa como si el usuario hubiera pinchado en el ítem de menú en lugar del enlace directo al artículo. De lo contrario,  si NO encuentra un ítem de menú, Joomla no sabe que hacer y mostrará sólo el contenido del artículo y no los módulos.

Nuestro propósito era no tener un enlace al artículo como un ítem en el menú principal. Se supone que este ítem de menú no aparecerá en ningún lugar en la navegación. Creando un ítem de menú en un menú oculto, la búsqueda por un ítem de menú que tenga la id del artículo exitosa y el artículo se muestra con los módulos apropiados, pero dado que el menú oculto no se muestra en ninguna posición de módulo, no aparece en ninguna parte del sitio web y nadie podrá verlo. ¡Listo!

Esta técnica también se utiliza para crear páginas de aterrizaje (landing pages) con propósitos SEO y de marketing que no se muestran que la navegación del sitio. Esas páginas están diseñadas para mostrar contenido destinado a ser visto por personas que pinchan un enlace en los medios sociales, otros sitios web o buscadores.

Aquí va el ejemplo paso a paso:

Tenemos un enlace (enlace-invisible) en el contenido de un artículo, que lleva a un artículo relacionado que no tiene un ítem de menú asociado en la navegación principal. Agregamos este ítem de menú para el artículo en el menú invisible.

Screenshot 057Asignamos módulos a nuestro artículo editando el ítem de menú "Enlace invisible" en el menú invisible y controlamos la visibilidad del módulo para este ítem de menú. De esta manera el módulo deseado va a ser mostrado junto con el contenido no importa como esté enlazado el artículo.

Screenshot 049

Screenshot 050

Ahora cuando pinchamos en el "Enlace" en el primer artículo vamos a ser guiados al artículo enlazado y la la página muestra el módulo de imágenes como queríamos.

Screenshot 052 Screenshot 058

 

Esta es una traducción y adaptación del artículo "Using Hidden Menus" de Duke Speer (Marzo 2014) que a su vez era una traducción del artículo original en francés "Le Menu Invisible" escrito por Badreddine Azrar (Enero 2014). Estos artículos anteriores contienen imágenes de Joomla! 2.5 que yo he re hecho en Joomla! 3.3

Visto 11577 veces Etiquetado como Spanish, Administrador
Viviana Menzel

Viviana Menzel

I'am argentinian, but I'am living in Germany since 1998. I came here to make my PhD in Biology. I was always interested on computers and never was afraid to learn about new software and so I also learned how to develop websites.
I discovered Joomla! on 2006 and I felt in love with it! 

As mother of 3 I wanted to work from home and so I decided 2008 to have my own company and work on websites with Joomla!

In May 2014 I visited my first Joomla! event (jab14) and some months later the JoomlaDay Germany. I like the Joomla! community and more the Spanish-speaking people. Since October/November 2014 I'am collaborating in the Joomla! Magazine Spanish.