Magento: más configuraciones

Mirando los borradores del blog, me he encontrado con este, que no sé porqué no llegué a publicar en su día (es de Septiembre del 2010). Lo recupero y publico, esperando que sea de utilidad.

A base de pelearme con Magento, he descubierto algunas opciones muy muy básicas pero que me vienen de maravilla (aviso, este es un post para los que como yo, son principiantes con Magento):

Mostrar productos fuera de stock

Si queremos que nuestros productos se muestren en nuestra web aún cuando no tenemos existencias, podemos hacerlo, asegurándonos de que no se van a poder comprar.
En la versión 1.4.1.1 esto se hace desde Sistema -> Configuración -> Catálogo -> Inventario, desde donde además de poder poner a «Si» la opción «Display Out of Stock Products», podremos gestionar la cantidad máxima de productos permitidos en un mismo carrito de la compra (que vendrá muy bien si tienes unos gastos de envío variables que has subido con un csv).

Mostrar productos por defecto en línea en lugar de en cuadrícula

La verdad, no me gusta nada la vista por defecto de Magento, que muestra los productos ordenados en cuadrícula. Queda mucho más elegante, por lo menos con mi tema y mis productos, la vista en lista. Desde Sistema -> Configuración -> Catálogo -> Catálogo -> frontend, podremos cambiar este punto en la opción «Modo de la lista».

Permitir pagos con Paypal para el producto de menor peso

Un problema que me he encontrado, es que he trabajado con «tablerates» para definir los gastos de envío en función del peso y el destino (explicado en este post, en el apartado «Gastos de envío»). Pues bien, como cada producto tiene asociado un peso, se debe definir el coste de los gastos de envío para todos y cada uno de los destinos para el producto de peso menor (o para peso cero), ya que si no podemos tener problemas en las ventas. Por ejemplo, si tengo definidos 2 gastos de envío (Barcelona y Madrid) y tengo un producto de 0,5kg, no podré vender si tengo los siguientes gastos de envío:

  • Barcelona: 0 kg = 5€, 10kg = 10€
  • Madrid: 10kg = 10€

No podré vender mi producto de 0,5kg aún cuando el destino sea Barcelona (y por tanto tenga definidos los gastos de envío correctamente). Necesitaré definir también los gastos para Madrid.

Tienda multilenguaje

Finalmente, me he decidido a hacer mi tienda en varios idiomas, aprovechando la poténcia de Magento, y siguiendo los pasos aquí descritos, y que resumo a continuación:

  1. Descargar y descomprimir los idiomas para nuestra web del sitio oficial. http://www.magentocommerce.com/langs/list/
  2. Subir a Magento los idiomas descomprimidos. Cada idioma ya viene con la estructura creada, así que únicamente deberemos subir el directorio «app» del idioma a la raíz de nuestra instalación de Magento en el servidor. Esto nos creará para cada idioma, un directorio en app\design\frontend\default\default\local y otro en app\locale.
  3. Desde la administración de Magento, desde Sistema -> Gestionar tiendas, crearemos una nueva «Vista de tienda» para cada uno de los nuevos idiomas. Cada vista de tienda, deberá tener los siguientes parámetros:
    • Store: Main Store
    • Name: Idioma
    • Code: idioma (NOTA: Existen algunas aplicaciones extra que muestran banderas en lugar del nombre del idioma. Para ello, es necesario usar como código el código del idioma. P.ej. US para inglés americano).
    • Status: Enabled
    • Sort order: 0 (Opcional. Si todos los idiomas se dejan a 0, se ordenarán por orden alfabético)
  4. Finalmente, desde Sistema > Configuración, cambiaremos el alcance de la configuración actual (el desplegable de arriba a la izquierda, justo encima del menú izquierdo) para acceder a la vista del uno de los idiomas. Desde General -> General, desmarcaremos el checkbox «usar sitio web» y posteriormente seleccionaremos el País para el idioma. Deberemos hacer esto para cada idioma.
  5. Seguramente, hará falta refrescar la caché para que funcione. Esto podremos hacerlo desde Sistema -> Gestor de la cache -> Flush Magento Caché.

Además de estas opciones, creando nuevas vistas para los diferentes idiomas podremos:

  1. Con el ámbito de la vista de idioma seleccionado en el «scope», desde Sistema -> Configuración -> General -> Diseño, especificar un diseño personalizado para cada uno de los idiomas, si por ejemplo queremos dar la sensación de tener diferentes webs según el idioma.

Lo más importante, sin embargo, es que con el cambio de idioma, no únicamente cambie el idioma de la tienda, si no que además cambien los títulos de las categorías, así como las descripciones de los diferentes productos. Esto se podrá hacer tal y como sigue:

  1. Desde Catálogo -> Gestionar las categorías, seleccionando el ámbito de la vista del idioma que queremos, en el desplegable de vistas de la esquina superior izquierda, podremos ver los valores definidos para la Categoría en la vista actual. Símplemente desmarcando el checkbox «Usar el valor por defecto», podremos dar un nuevo valor, por ejemplo, a el nombre o la descripción de la categoría, para que corresponda con el idioma de la vista.
  2. Exactamente igual, desde Catálogo -> Gestionar los productos, y usando el selector de la vista actual, podremos cambiar las textos de cada producto, así como adaptar su coste,

La información está sacada de este fantástico vídeo.

¿Qué páginas tiene mi tienda?

Desde la opción CMS -> Páginas, se tiene acceso a un listado completo de las páginas que conforman nuestra tienda. Y cuando hablo de páginas me refiero a las páginas y los templates que usa cada una de ellas. Esto es ideal para editar la información de cada página de forma sencilla, a la vez que proporciona un listado de los templates usados, por si se quieren hacer modificaciones más drásticas (como cambiar todos los pies de página de la tienda o eliminar banners).

Más información sobre Magento: https://helloit.es/?tag=magento

Cambiar el idioma en Magento

MagentoPodemos cambiar el idioma de Mangento al Español (o a cualquier otro lenguaje) siguiendo estos pasos:

  1. Descargar el paquete del idioma seleccionado en la página oficial de Magento, sección de traducciones.
  2. Una vez descargado, subir el directorio «app» que contiene el paquete de la traducción, a la raíz de la instalación de Magento en nuestro servidor. De esta manera, no subiríamos el directorio «es_ES» si no que en su lugar subiríamos directamente el directorio «app» que se encuentra dentro de «es_ES».
  3. Posteriormente, desde el panel de administración de Magento, nos dirigiremos a System -> Configuration -> General tab -> Locale options, y seleccionaremos el idioma del paquete que acabamos de subir. En el ejemplo «español (España)».
  4. Guardaremos los cambios.
  5. Finalmente, desde System -> Caché Management, seleccionaremos todas las opciones y pulsaremos sobre «Enviar» una vez seleccionada la opción «Refresh».
  6. Con esto tendremos Magento configurado al Español.

Fuentes:

Primeros pasos con Magento

¿Cómo empezar con Magento?

Una vez instalado Magento, he pasado a intentar configurarlo siguiendo los pasos descritos a continuación:
  • Entrar en el panel de control de Magento, desde http://myweb.com/magento/index.php/admin
  • Desde System -> Configuration -> General, configurar las opciones básicas sobre la tienda, además de delimitar las ventas para un determinado país (Paypal no nos lo permitía).
  • En mi caso he tenido que re-indexar algunas tablas de la base de datos al advertir un aviso en el menú superior de Magento, símplemente pinchando en el enlace que me ha proporcionado el mensaje de aviso, y seleccionando «reindexación».
  • También he tenido que aplicar el parche 1.4.1.1 (tenía otro aviso al respecto) descargándolo desde aquí y subiéndolo directamente al servidor, pero parece que no se da por enterado y continúa apareciéndome el mensaje.

Ahora, bien, ¿Cómo empezamos a montar nuestra tienda?

Productos y Categorías

  • Desde Catalog -> Manage Categories, podemos empezar por crear una nueva categoría que cuelgue de la categoría Default Category. Es importante no eliminar esta categoría por defecto, puesto que nuestra tienda por defecto (System -> Manage Stores -> Main Website Stores) tiene como «root category» esta categoría «Default Category».
  • Una vez creada la categoría, podremos crear nuestro primer producto desde Catalog -> Manage Products, donde deberemos indicar todo un seguido de detalles respecto a nuestro producto. Destaco lo siguiente:
    • Prices -> Price: El precio sin IVA ni gastos de envío ni manipulación.
    • Prices -> Cost: El coste real del producto (únicamente como información interna, y por lo tanto, no visible para el cliente final).
    • Prices -> Tax Class: Aquí seleccionaremos el tipo de impuestos que se le aplicará al producto. Se recomienda dejar la opción por defecto y posteriormente modificarla.
  • Posteriormente, y de nuevo desde Catalog -> Manage Categories, deberemos seleccionar la pestaña «Category Products» y marcar el producto que hemos creado, recordando guardar los cambios, para incluir el producto en la nueva categoría.
  • IMPORTANTE: Para que el producto sea visible en la web, deberemos desde Catalog -> Manage Products, editar el producto y desde la opción «Inventory», asegurarnos de tener como «Qty» (cantidad) un valor mayor que el indicado en «Qty for Item’s Status to become Out of Stock», que por defecto es cero. Así, podemos poner como «Qty» por ejemplo, que tenemos un stock de «50» unidades. Además, deberemos asegurarnos de cambiar el valor de «Stock Availability» de la misma sección, a «In Stock».

Impuestos

  • Desde Sales -> Tax -> Products Tax Clases, crearemos un nuevo impuesto para nuestros productos. Desde aquí únicamente crearemos el nombre del impuesto (por ejemplo, IVA).
  • Una vez creado el nuevo impuesto, desde Sales -> Tax -> Manage Tax Zones & Rates, podremos definir un nuevo valor para nuestro impuesto creado en el punto anterior. Por defecto, vienen dos reglas de impuestos para Estados Unidos. Para España, bastará con crear un nueva entrada seleccionando como país «España», como «Rate Percent» un «18» (por ciento), con el resto de opciones por defecto.
  • Finalmente, desde Sales -> Tax -> Manage Tax Rules, podremos crear el nuevo impuesto seleccionando el «Product Tax Class» y el «Tax Rate» creados en los dos pasos anteriores. Esta nueva «Tax Rule» será la que deberemos especificar en nuestros productos desde Catalog -> Manage Products -> Editamos el producto -> Prices -> Tax Class.
Gastos de envío

  • Los gastos de envío se pueden especificar desde System-> Configuration -> Sales -> Shipping Methods, donde en primer lugar deberemos desactivar el método de envío «Flat Rate» cambiando «Enabled» a «No».
  • Posteriormente, cambiaremos a «Table Rates» para habilitar esta opción, haciendo los cambios deseados, y a continuación guardaremos. Hay que tener en cuenta, que los campos «Title» y «Method Name» se mostrarán durante el proceso de compra del artículo, al cliente.
  • Una vez guardado, desde la opción «Current Configuration Scope» en la parte superior del menú izquierdo, seleccionaremos la opción «Main Website«. Desde aquí, podremos primero descargar un archivo csv que rellenaremos con los datos de los envíos, para posteriormente subir este mismo archivo, ya con los precios de los envíos. A continuación un ejemplo de hoja de envío, donde se ha introducido el código ESP para España, y las regiones de Barcelona y Baleares tal cual aparecen en el desplegable que muestra Magento al seleccionar las regiones de España durante una compra:
Country Region/State Zip/Postal Code Weight (and above) Shipping Price
ESP Barcelona * 10 15,7
ÊSP Baleares * 10 25,8
ESP * * 10 20,82
Enlaces
Y finalmente, enlaces útiles con más información sobre estas configuraciones:

Cómo instalar Magento

MagentoÚltimamente me había interesado por cómo crear un carrito de la compra con Paypal, para vender productos a través de Internet. Sin embargo, después de mucho buscar, el servicio técnico de Paypal, muy amablemente me ha comentado que:

  1. Paypal no puede restringir las compras según la ubicación geográfica. Así pues, si vendes usando los botones de compra de Paypal, tienes que vender forzosamente a todo el mundo, y no únicamente a una región o país concreto.
  2. Paypal no puede calcular los costes de envío según la dirección de destino del cliente. Así pues, con Paypal tienes que definir los gastos de envío para un paquete que irá a tu misma ciudad, o a la otra punta del mundo.

Sin embargo, el servicio técnico de Paypal me ha recomendado mirar «carritos de terceros» que se integran con Paypal, para realizar este tipo de configuraciones. Desde Paypal, recomiendan los siguientes:

Carros de código fuente abierto

Carros alojados

Me he decidido a probar Magento, básicamente porqué era el que más me sonaba (por no decir que era el único que me sonaba, a parte de osCommerce).

¿Cómo instalar Magento?

  • Primero tenemos que registrarnos en la web de Magento y descargar la última versión.
  • Después, en mi caso, he modificado el archivo robots.txt de mi servidor para denegar el acceso a la carpeta que contendrá el e-commerce (no me interesa que Google y el resto de buscadores indexen este tipo de contenido), tal y como sigue:

User-agent: Googlebot
Disallow: /magento/

User-agent: *
Disallow: /magento/

  • Una vez subida la nueva versión del archivo robots.txt, he subido el directorio magento (que contiene los más de 9000 ficheros que componen la aplicación) a la raíz de mi servidor.
Siguiendo los pasos descritos aquí, he conseguido instalar y configurar Magento. Por si las moscas, describo los pasos a continuación, ya que algún paso extra he tenido que hacer:
  • En mi hosting, he creado una nueva base de datos MySQL que usará Magento. Esto dependerá del hosting, pero la mayoría de hostings ponen muchas facilidades para hacer este tipo de tareas.
  • Posteriormente, he cambiado los atributos de los siguientes archivos y directorios, a 777 (tranquilos, esto también lo comenta la documentación oficial de instalación de Magento). Esto se puede hacer con el comando «chmod» o haciendo click derecho sobre el arhivo o carpeta desde tu cliente FTP favorito:
    • Archivo magento/var/.htaccess
    • Directorios magento/app/etc y magento/var
    • Todos los directorios dentro de magento/media (no incluido)
  • Además de esto (y con tal de solucionar un «ERROR 500 – Internal Server Error»), he tenido que modificar el archivo .htaccess de la raíz de mi servidor (no el archivo .htaccess de magento), para permitir la escritura del directorio magento, añadiéndo la siguiente línea:

RewriteBase /magento/

  • Una vez cambiados los permisos y el archivo .htaccess de mi servidor, he entrado por navegador a la dirección http://miweb.com/magento/install.php, el cual ha mostrado un asistente para la configuración de Magento, que ha consistido en:
    • Aceptar las condiciones de uso
    • Seleccionar las opciones de ubicación, zona horaria, y moneda.
    • Indicar el nombre del host, base de datos y credenciales para la base de datos MySQL creada anteriormente para Magento. En este punto, además, se me han presentado diversas opciones para modificar el acceso web a Magento, así como para almacenar las opciones de sesión. NOTA: Al aceptar este punto, se ha pasado a crear la base de datos de Magento, lo cual en mi caso, ha tardado varios minutos.
    • Indicar los diversos datos del que será el administrador de Magento, así como los datos de inicio de sesión.
  • Con esto he conseguido tener Magento instalado en mi servidor.
En breve (espero) un nuevo post sobre los primeros pasos con la configuración de una tienda con Magento.