CMS para comercio electrónico: Magento

5 Comments

Magento fue desarrollado por Varien, empresa que desarrollaba tiendas online utilizando el CMS osCommerce, y se lanzó en Marzo del año 2008. Desde Junio de 2011, debido a la compra del 100% de Varien por parte de eBay, pertenece a esta última compañía.

Magento está desarrollado en PHP sobre MySQL, utilizando Zend Framework. Además, una de sus características principales es el uso de EAV (Entidad-Atributo-Valor) como forma de almacenar los datos.

Mi opinión personal sobre EAV en Magento, como desarrollador, es que le da una flexibilidad enorme a la hora de querer extender las funcionalidades, ya que permite el tratamiento de cualquier nuevo modelo de una forma sistematizada. No obstante, esta elección tiene la contrapartida de aumentar considerablemente el número de accesos a base de datos. Actualmente, estos problemas se pueden paliar mediante el uso de caches (tanto externas como de base de datos) y tablas planas.

Una de las principales características de Magento es la gran cantidad de funcionalidades que ofrece sin necesidad de extensiones, si bien a veces tal cantidad de opciones puede abrumar a los usuarios no iniciados y, en ocasiones, cosas sencillas y de uso común tienen una mecánica un poco compleja. En cualquier caso, una vez aprendidas estas particularidades se puede gestionar el sistema de forma eficiente.

Antes de profundizar más en las particularidades de Magento como CMS de comercio electrónico, es necesario destacar que Magento es, en realidad, un CMS multi-tienda. Esto significa que podemos tener varias tiendas gestinadas dentro del mismo sistema, o incluso, la misma tienda pero con diferentes vistas.

Gestión del catálogo de productos

La gestión del catálogo de productos se divide en tres partes: gestión de productos, gestión de atributos y gestión de categorías. Respecto a los productos, se diferencian los siguientes tipos:

  • Simple: un producto que no depende de variables.
  • Configurable: un producto que tiene uno o más atributos (talla, color, capacidad, etc).
  • Agrupados: packs de productos que también existen en la tienda.
  • Bundle: producto configurable a partir de otros productos que no se venden por separado (que no tienen sentido si no es como parte de este producto).
  • Descargable: producto no físico que supone la descarga de un fichero.
  • Virtual: producto no físico (como por ejemplo una garantía extendida).

Captura de pantalla 2013-11-18 a la(s) 00.36.11

Además, Magento nos permite configurar una gran variedad de atributos de los productos.  Es necesario distinguir entre los atributos que se pueden definir por separado y aquellos que vienen por defecto con los productos, como el nombre, precio, imagen…

Los atributos definibles de los productos se crean por separado, y es posible agrupar varios atributos creando un conjunto de atributos. De esta forma podemos tener, por ejemplo, un conjunto de atributos para ropa que permita elegir entre diferentes tallas y colores.

En cuanto a las categorías, podemos crear más de un árbol de categorías. Un producto puede pertenecer a varias categorías y éstas no han de ser necesariamente categorías hoja.

Gestión de usuarios

En Magento se almacena información de usuarios registrados en la tienda. Además de los datos personales, de facturación, y de envío, tenemos la dirección de correo electrónico y si éste ha aceptado recibir información comercial. Desde la propia plataforma podemos programar y enviar newsletters. Por supuesto, también es posible, mediante extensiones, la sincronización (generalmente vía API) con plataformas de mailing externas como MailChimp.

Localización

Como ya hemos mencionado, Magento es una plataforma multi-tienda. Eso significa que podemos tener varias tiendas gestionadas dentro del mismo sistema de forma conjunta, pudiendo realizar gestiones de forma general para todas las tiendas o de forma individualizada para alguna de ellas.

Magento nos ofrece posibilidades para configurar diferentes idiomas, monedas e impuestos, si bien la forma de hacerlo es creando diferentes tiendas o vistas de las tiendas. A la hora de cambiar algún valor de configuración en Magento, cuando tenga sentido, se nos ofrece la posibilidad de realizar dicho cambio de forma general, o para una tienda o vista de la misma. Por ejemplo, podemos cambiar el nombre de un producto pero sólo para la vista de ese idioma de la tienda.

Extensiones

Magento cuenta con un extenso y activo marketplace de extensiones. Estas extensiones hacen uso de la gran modularidad de este CMS para sobreescribir funcionalidades existentes o introducir funcionalidades nuevas. Además, Magento cuenta con una API que permite comunicar la tienda con sistemas externos y esta API es extensible por parte de las extensiones.

Respecto a la modularidad mencionada, es necesario destacar que Magento, según lo instalamos, está compuesto por un núcleo y una gran cantidad de extensiones. Las extensiones son la forma natural en la que Magento está construido y, por lo tanto, podemos conseguir cualquier cosa de este CMS a través de su uso.

Diseño

La forma de construir el aspecto visual de las páginas en Magento es también muy modular y configurable. Consta de dos partes: un sistema jerárquico de layouts que indica en qué disposición se colocan los diferentes bloques que componen la tienda y un conjunto de templates que generan el html resultante para cada uno de esos bloques. En el marketplace de extensiones podemos encontrar innumerables temas que nos permitirán obtener otros tantos aspectos visuales diferentes.

Suscríbete a nuestra newsletter

5 Comments
  1. Pingback: CMS para comercio electrónico: Magento, PrestaShop y Shopify

  2. Estoy 100% de acuerdo contigo!

  3. Alejandro, interesante articulo. Mi pregunta es: prefieres Magento a Prestashop?

      • Alejandro Cuevas
      • 19/11/2013
      Responder

      Hola David,

      No te sé decir… Magento tiene cosas que me encantan pero también otras que me sacan de quicio. Hasta ahora Prestashop era más sencillo y ágil mientras que Magento era más potente, pero creo que Prestashop está recortando mucho las distancias. Hay que ver con las nuevas versiones cómo evolucionan ambas plataformas durante el próximo año.

        • Estela Gil
        • 20/11/2013
        Responder

        Alex, mójate!

 

Deja tu comentario