Nopcommerce.com, comercio electrónico en ASP.NET 4.5 MVC 4

11. febrero 2013 20:00 by Javier Cantos in Comercio electrónico, Web  //  Tags: , ,   //   Comentarios (3)

Ya era hora de darle una oportunidad y probar nopCommerce, solución de comercio electrónico basada en tecnología Microsoft ASP.NET MVC, la verdad es que la curiosidad me picaba y decidí bajarme el paquete con el código fuente en vez de la versión web, lo podéis descargar desde el propio sitio oficial nopCommerce.

Puesta en marcha de la solución

Una vez descargada la solución y descomprimirla os váis a encontrar una solución con varios proyectos agrupados en carpetas.

  • Libraries, contiene módulos relativos al Core, donde reside toda la lógica de negocio, además podemos encontrar el modelo de datos y las clases de servicio básicas como la autenticacion, instalación o seguridad.
  • Plugins, este proyecto contiene toda la lógica relativa a la gestión de las extensiones, como las reglas de descuentos, formas de pago o el módulo de SMS.
  • Presentation, aquí podemos encontrar la capa de presentación, vistas, controles HTML, scripts, tanto lo relativo al frontend como al backend o área de administración.
  • Tests, y aqui encontraremos una batería de pruebas unitarias bastante útiles por si necesitamos modificar algo del fuente y queremos comprobar que todo funciona correctamente.
Una vez descomprimido, tendréis que abrir la solución con Visual Studio 2012, y seleccionar como proyecto de inicio Nop.Web de la carpeta Presentation, nada más iniciar la primera vez nos mostrará un asistente de instalación para generar la base de datos e incluso añadir un conjunto de datos de pruebas para empezar a "jugar" con la tienda. 
 

Personalizando el entorno

Para acceder al área de administración tendréis que iniciar el proyecto Nop.Web y esperar a que inicie el navegador añadiendo a la barra de dirección /admin, tendremos que introducir el usuario y la clave proporcionada en la instalación del punto anterior.
 

Configurando el idioma Español

Lo primero que tenemos que hacer es descargar el language pack - Spanish, hasta la fecha este es el más completo que he encontrado, aunque no sea el nativo español, corresponde al latino, pero está bastante bien traducido. Descargamos y descomprimimos el rar en el escritorio por ejemplo.

Por defecto la configuración del idioma es inglés, tenemos que acceder a la opción Config >> Languages y añadir el español como nuevo idioma, una vez completada la ficha con los datos del código del idioma y bandera tendremos que pulsar sobre la opción Save and continue, posteriormente realizamos la importación del fichero XML que se encuentra en el archivo RAR descargado anteriormente. A partir de aquí ya tenemos nuestro sistema disponible en ambos idiomas (español e inglés) tanto para el front como para el back.

Estableciendo la moneda

Por defecto la instalación viene prefijada como moneda principal el Dólar y como secundaria el Euro, vamos a establecer la moneda principal Euro y vamos a ocultar el Dolar. Nos dirigimos a la opción de Configuración >> Monedas, nos situamos en la fila de Euro y marcamos como tasa de cambio principal y como moneda principal de la tienda, tan solo nos queda modificar la moneda Dolar y desmarcar el campo Publicado, con esto ya tenemos nuestra tienda para trabajar con la moneda europea.

Estableciendo la medida

Por defecto viene fijada en pulgadas, vamos a establecer nuestra medida por defecto a milímetros. Accedemos a la opción de Configuración >> Medidas >> Dimensión, nos situamos sobre la fila de milímetros y marcamos como dimensión principal milímetros, listo para trabajar con medidas decimales.

CMS a medias

Para la gestión de los contenidos, y en cuanto a su personalización tenemos pocas posibilidades desde el punto de vista del usuario, si deseamos cambiar opciones de menú y establecer los enlaces del bloque de información tendremos que tocar las vistas desde el código, sin embargo los propios contenidos sí que podremos administrarlos desde la propia herramienta, esto es mejorable.

Vamos a incluir una nueva opción en el bloque de Info (situado en la columna derecha) a la que vamos a llamar Empresa, será una página estática en HTML que contenga contenidos relativos a la presentación de la empresa.

Crear la página

Este concepto me despistó un poco porque internamente llaman Temas a las páginas, así que cuando veáis la opción de menú Temas no penséis como yo que se trata de alguna característica para cambiar el aspecto de la tienda, pues no. Se trata del acceso a la gestión de las páginas con contenido estático como el Sobre nosotros, contactar o términos y condiciones.

Para crear una nueva página (tema) tenemos que acceder al menú Administración de contenidos >> Temas, desde aquí podemos incluir una nueva sección y nada más, el sistema no lo enlaza automáticamente, tenemos que modificar la vista InfoBlock situado en el proyecto Nop.Web\Views\Common para añadirle manualmente el nuevo enlace, en nuestro ejemplo Empresa.

   

Traducción de los recursos

Como habéis podido observar en el código, la traducción del enlace Empresa lo obtendremos del diccionario que nos proporciona la propia herramienta. Para ello tenemos que acceder a la opción Configuración >> Idiomas, y pulsar sobre Ver recursos de cadena para insertar una nueva entrada con la traducción del recurso, simplemente asegurarnos de que la clave que ponemos al recurso coincide con la especificada en la vista, para nuestro ejemplo "Empresa". Esto tenemos que hacerlo tantas veces como idiomas tengamos disponible en la tienda.

Gestión de artículos

Para la gestión de artículos, lo primero que tenemos que hacer es clasificar nuestro género mediante categorías o familia de artículos, para la definición del catálogo disponemos de las siguientes opciones.

  • Categorías, desde aquí podemos clasificar el catálogo de productos mediante familias de artículos o categorías
  • Fabricantes, o proveedores, interesante si queremos hacer una clasificación por marca, indicado por ejemplo para comercios de moda o tecnología por ejemplo.
  • Productos, aquí es donde configuramos todo el catálogo y damos de alta los nuevos productos.
  • Atributos, mediante esta opción podremos personalizar los campos o propiedades añadidas que nos permiten definir con más exactitud un determinado producto, como por ejemplo el color, la talla, las características o especificaciones. También podremos crear listas de valores para crear campos específicos de un artículo y que necesiten de la selección de uno de ellos a la hora de realizar la compra, como por ejemplo la capacidad en megas de un disco duro.

Cómo promocionar un producto

Si quieres ofertar o promocionar un producto y hacer que aparezca en la página de inicio de tu tienda, tan solo tendras que editar la ficha del producto y asegurarte de marcar la casilla "Mostrar en página de inicio", tal y como ves en la siguiente imagen:

Configuración métodos de pago

Para la configuración de las formas de pago, nos dirigimos a la opción Configuración >> Métodos de pago, en nuestro caso aceptaremos como forma de pago principal Paypal, para ello pulsamos sobre el botón Configurar sobre el registro de paypal e introducimos los datos de configuración que nos solita: nombre de la cuenta, clave, y firma.

Configuración de impuestos

Tenemos dos alternativas:

  • Configuración por familia de artículos, no es lo normal, al menos en España
  • Configuración por país, esta es la que prefiero y la más aconsejable, ya que se tendrá en cuenta la dirección de facturación para calcular el impuesto.
En el caso de España, vamos a crear un nuevo tipo de impuesto al que llamaremos IVA y aplicaremos un valor de 21, tan solo tenemos que acceder a la opción Configuración >> Impuestos >> Categorías de Impuestos y crear un nuevo registro con los valores indicados. Ahora tenemos que marcar como proveedor de impuestos por defecto el que se rige por país, pues nada, nos vamos a Configuración >> Impuestos >> Proveedores de impuestos y pulsamos sobre el botón Marcar como proveedor principal en el registro "Tax By Country & State & Zip". Con estos pasos ya tenemos establecido el nuevo impuesto, pero ahora tenemos que informar por cada producto del nuevo impuesto.
 
Nos vamos a Catálogo >> Productos >> Administrar productos y editamos cualquiera de ellos o bien creamos un nuevo artículo, lo importante es localizar la pestaña de "Variantes del producto", esta nos va a permitir especificar e indicar el tipo de impuesto a aplicar para el producto en cuestión.
 

Configuración del envío

Para la configuración del envío tenemos que acceder a la opción de menú Configuración >> Envío donde tendremos disponibles estas opciones.

  • Configuración métodos de envío, aquí damos de alta las diferentes agencias de transporte con las que trabajaremos o lleguemos a un acuerdo (NACEX, SEUR, UPS).
  • Restricciones del método de envío, para especificar a qué países permitiremos realizar envíos según la compañía de transporte.
  • Método de cálculo del coste de envío, esta configuración requerirá una atención especial y dedicación para especificar las tarifas según las condiciones adquiridas con la agencia de transporte, normalmente y en el caso de España las tarifas suelen especificarse mediante tramos por pesos y zonas geográficas. 

Para la especificación de tarifas según el peso de los artículos, tendremos que acceder a Configuración >> Envío >> Método de cálculo del coste de envío y activar el registro "Shipping By Weight". Una vez activo pasamos a configurar el registro, donde tendremos la posibilidad de parametrizar el importe tarifario por país, provincia o tramo de peso.

Personalización del documento de venta

Inclusión del logotipo de la empresa

Para dar un aspecto más serio y formal a nuestra factura de venta, podemos incluir el logotipo desde un archivo en formato JPG o PNG, para ello accedemos nuevamente a la opción de administración Configuración >> Ajustes Generales y Diversos, y seleccionamos la pestaña Ajustes PDF, solo nos queda seleccionar el archivo gráfico y subirlo mediante la opción Logo PDF.

Traduciendo algunas etiquetas

Ya lo tenemos casi todo listo para empezar a funcionar nuestra tienda y subirnos al carro del comercio electrónico, si observáis las etiquetas que vienen en el documento PDF en cuanto a la traducción es bastante mejorable, así que vamos a ello. Volvemos nuevamente al área de administración y accedemos a la opción Configuración >> Idioma >> Ver recursos de cadena y filtramos la columna "Nombre del recurso" buscando una cadena que comience por "PDFInvoice.OrderTotal", de esta manera el sistema nos listará todas las etiquetas del documento de orden de venta que por defecto viene en nuestro plugin de idioma español. Tan solo queda modificar y actualizar aquellas que consideremos no se adaptan a nuestro vocabulario y ya tendremos listo el documento de factura de venta y adaptado a las necesidades del cliente.

Conclusión

En cuanto a las posibilidades de personalización y parametrización del sistema no he encontrado grandes diferencias con respecto a otros productos como Prestashop o Magento, hemos tenido que tocar casi las mismas cuestiones para poner "a punto" una tienda, si bien es cierto que durante las pruebas y test de este producto no he encontrado bugs que no permitieran un camino alternativo para seguir adelante con la instalación y la puesta en marcha, cuestión de agradecer con respecto por ejemplo a Prestashop (cantidad de errores leves pero que nos comen el día a día). Los que venimos con doctrina Microsoft es de agradecer este tipo de soluciones y sobre todo aprovechar el potencial de ASP.NET 4.5 y MVC 4, así que enhorabuena al equipo de nopCommerce.

Comentarios (3) -

Tomas
29/05/2013 13:53:11 #

Buen día, muy buen post.

Por casualidad no tenes algun manual para entender el producto con más profundidad.

Gracias de antemano.

Javier Cantos
31/05/2013 0:35:48 #

Tienes toda la documentación en la página oficial del producto http://www.nopcommerce.com/documentation.aspx

Gracias a ti Tomas

Gonzalo
20/05/2014 19:52:38 #

Muy buen artículo. Lo justo y necesario para poder hacer una web con NopCommerce, que es más de lo que se puede encontrar en la fuente "oficial".

Muchas gracias.

Agregar comentario

Profesional independiente en el sector Tecnologías de la Información y la Comunicación, especializado en entornos web Microsoft e integración de sistemas con dispositivos móviles

Más sobre mi

Archivo del blog

Paymill Wrapper. NET es una API para una fácil integración de facturación recurrente y pagos online a través del producto  Paymill.com, puedes ver más información sobre el proyecto en Codeplex y GitHub