
Como sabrá la gente más cercana a mí, llevo como unos cinco meses desde que empecé a trabajar con esta herramienta. Magento, para quien no lo sepa, es una herramienta de comercio electrónico relativamente reciente, basada en el framework Zend implementado en PHP, de código abierto. Actualmente, aún no tiene la fama de otros como PrestaShop u OsCommerce pero no tardará en llegarle el momento. Ya he trabajado en al menos 20 proyectos basados en este gestor de comercio electrónico, con mayor o menor profundidad, en la empresa en la que desempeño mis tareas. Por eso aún sigo siendo un newbie de Magento, pero con ganas de aprender mucho de esta tienda virtual y, con objeto de aposentar mis conocimientos adquiridos al cabo del día, intentar montar ligeros hacks y técnicas para programar en Magento y hacer lo que se quiera.
También considero tener suficiente conocimiento del programa para hacer un pequeño análisis. Y bien saben que me hallo obnubilado con Magento. Cualquiera con conocimiento de informática que haya tocado algún que otro CMS seguramente compartiría mi opinión, nada comparado con esa basura que es Joomla. Un sistema modular en el que absolutamente todo va por sobrecargas, siguiendo las directrices de la programación orientada a objetos, permitiendo un código limpio, legible y extensible, en el que se pueden reescribir los módulos por defecto sin necesidad de chafarlos (algo nada recomendado para futuras actualizaciones). La máxima de este gestor, al igual de la mayoría, es procurar que todo se haga al mayor nivel de abstracción posible, introduciendo el concepto de los layouts que permiten, modificando un fichero XML, mover, crear y eliminar los distintos bloques de la aplicación (como puede ser una cabecera o una barra lateral, por ejemplo). La cantidad de opciones que permite dentro del back-end puede ser muy liosa pero al menos gratifica poder modificar datos y datos a golpe de click. Todo lo demás (traducción en línea, vista, multitienda…) son conceptos que se basan de esa máxima: todo editable a mayor nivel de abstracción.
Sin embargo, también tiene sus defectos. De momento, ya hay varios bugs que le hemos sacado entre mis compañeros, algunos más gordos que otros, debido a su recién comenzada andadura. Uno de ellos es la falta de indización de las páginas (diferentes de los productos de la tienda). Si bien esto se puede resolver con algún módulo que implemente un CMS (ya tiene para integrar WordPress, Joomla y Drupal con Magento), se echa de menos para, por ejemplo, a la hora de mostrar en el menú de navegación superior que se ha de modificar a mano (y no desde el back-end, olvidándonos de poder ordenarlo como prefiramos). También, hoy mismo, encontramos que hay un problema con los conceptos tienda y website. Al intentar mostrar todos los productos de la categoría padre de una tienda en concreto, la aplicación selecciona todos los del website sin hacer distinción de tiendas (pese a tener ambas dos categorías padres distintos). Es un concepto complicado, y puede que en próximos artículos me explaye más sobre ello e intente explicarlo mejor, pero es un bug grave. Otro problema, difícil de solucionar, es la empinada cuesta de la curva de aprendizaje. Controlar Magento, incluso a muy bajo nivel, exige horas y horas de preparación y darse tortas contra una pared. Puedo dar fe, mis compañeros también, de lo mucho que duele la cabeza.
Y bueno, mucho más podría explayarme pero no quiero aburrir al personal. En particular, recomiendo muchísimo esta aplicación si se desea iniciar una tienda. Y si necesitáis algún consejo, los comentarios están abiertos para cualquier pregunta.