Integrar páginas CMS en la navegación de Magento

Hace unos meses atrás me llego un requerimiento para personalizar la navegación principal en Magento, simplemente se necesitaba incluir algunos links de paginas CMS en diferentes posiciones del menú.

Si tienen mucho tiempo trabajando con Magento estoy seguro que alguna vez necesitaron modificar la navegación principal y como ya sabrán es un trastorno.

Magento por default solo incluye categorías, y para agregar un link custom hay que disfrazarlo de URL-rewrite y seguir como 20 pasos en el panel de administración para que funcione.

No digo que no sea posible hacerlo, generando rewrites se puede incluir cualquier cosa, pero no deja de ser poco amigable y de consumir tiempo de administración.

Entonces, ¿cuál es la forma en la que normalmente proceden con un requerimiento?. En mi caso, los pasos que siempre sigo son:

  1. Buscar alguna extensión gratuita.
  2. Si cuento con presupuesto tal vez alguna extensión paga que en lo posible agregue algún valor extra.
  3. Y si el requerimiento es algo muy específico, tal vez desarrollar la solución a medida.

Mis resultados:

  1. Tras goolgear y buscar en Magento Connect, no encontré nada gratuito que me ayude con algo tan simple. Todo lo que encontré era en su mayoría para generar nuevos menús como si fueran widgets he insertarlos como blocks, o solamente para modificar los estilos o efectos de la navegación principal.
  2. No contaba de presupuesto pero por sobre eso, las pocas extensiones pagas que encontré no servían para el propósito (ni una que simplemente incluya paginas CMS automáticamente al menú), casi todas hacían lo mismo que mencione en el punto anterior.
  3. Así que decidí desarrollar la solución por mi cuenta. Invertí un poco de mi tiempo personal y genere una extensión gratuita que paso a compartirles: http://www.magentocommerce.com/magento-connect/dwd-cms-menu.html (y también en GitHub).

Con «CMS Menu» van a poder activar/desactivar las paginas CMS como links en el menú principal y establecer la posición de las mismas inclusive como sub-elementos de las categorías existentes o mismo de otras paginas activas en el menú.

Configuración de CmsMenu para Magento
CmsMenu para Magento
Configuración de CmsMenu para Magento

El código es súper simple y limpio, son algunos observers y una tabla custom para guardar la información, esto hace que puedan habilitar/deshabilitar la extensión a gusto.

Mi idea es de a poco incluir nuevas funcionalidades, así que cualquier sugerencia les será agradecida.

¡Espero les guste y sirva!

Publicado por Damián Pastorini

Web development and design, E-commerce specialist, system integrations, management and optimization. @damianpastorini