Dentro de un par de días cambiaremos el IVA del 18% al 21% y todos los que tenemos tiendas online tendremos que cambiarlo a las 00:00 no vaya a ser que nos entre alguna venta y nos la líe. Os voy a contar 3 formas distintas de cambiar el IVA de vuestra tienda.

1.- Desde el admin de Prestashop
Hay que ir a la pestaña de pagos -> Impuestos y editando el impuesto correspondiente se cambia. ¡Acordaros de cambiar el texto en todos los idiomas que tenéis activado!

2.- Desde Mysql
Para usar esta opción hay que saber usuario y contraseña de mysql y el prefijo de las tablas. Como prefijo he utilizo el que pone por defecto prestashop ps_
Desde mysql, phpmyadmin o similar ejecutar las siguientes ordenes

USE nombre_db;
UPDATE ps_tax_lang SET name=REPLACE(name,'18','21') WHERE id_tax=(SELECT id_tax FROM ps_tax WHERE rate=18);
UPDATE ps_tax SET rate=21 WHERE rate=18;

Desde bash los mas cómodo es hacer algo así:

mysql -u usuario_db -pclave_db base_de_datos_prestashop -e "update ps_tax_lang set name=replace(name,'18','21') where id_tax=(select id_tax from ps_tax where rate=18);"
mysql -u usuario_db -pclave_db base_de_datos_prestashop -e "update ps_tax set rate=21 where rate=18;"
También lo puedes automatizar en el cron y olvidarte del cambio.

3.- Con un pequeño script en php que puedes automatizar o ejecutar desde cualquier equipo.
Para poder utilizarlo debes de conocer los mismos datos que en la opción anterior y configurar el script con ellos.
<?php
	$host		=	'localhost';
	$user		=	'usuario';
	$pass		=	'password';	
	$database	=	'db_prestashop';
        $prefijo        =       'ps_';
 
        $sql1 = "update ".$prefijo."tax_lang set name=replace(name,'18','21') where id_tax=(select id_tax from ".$prefijo."tax where rate=18);";
        $sql2 = "update ".$prefijo."tax set rate=21 where rate=18;";
 
	$connect = @mysql_connect ( $host, $user, $pass ) ;
	echo "<h1>Proceso de cambio de IVA en la base de datos de prestashop</h1>";
	if ( $connect )
	{
			mysql_select_db ( $database );
			if ( @mysql_query ($sql1) )
			{
				echo '<p>Paso 1 OK</p>';
			}
			else {
				die ( mysql_error() );
			}
 
			if ( @mysql_query ($sql2) )
			{
				echo '<p>Paso 2 OK</p>';
			}
			else {
				die ( mysql_error() );
			}
 
	}
	else {
		trigger_error ( mysql_error(), E_USER_ERROR );
	}
?>

Si lo que quieres hacer es no repercutir la subida a tus clientes lo que hay que hacer es reducir el precio de los productos. La forma mas sencilla de reducir el precio de todos los productos es a través de una consulta SQL:

UPDATE ps_product SET price=price*0.975206611570248;

Espero que os sea útil.


Este es un truco muy sencillo pero útil si necesitas cambiar el nombre del dominio de una tienda desarrollada con prestashop. Podrías cambiar de tienda1.com a tienda2.com o de tienda.com al subdominio mi.tienda.com

Se hace desde el mysql y sólo hay que cambiar los valores PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL de la tabla ps_configuration por el nombre del dominio o subdominio de la tienda. P.E.:

 

 

 

 

 

UPDATE ps_configuration SET VALUE="tienda.rastreador.com.es" WHERE name="PS_SHOP_DOMAIN";
UPDATE ps_configuration SET VALUE="tienda.rastreador.com.es" WHERE name="PS_SHOP_DOMAIN_SSL";

Prestashop es uno de los CMS de comercio electrónico que más auge está teniendo últimamente. La documentación es bastante buena pero hay algunas cosas que sólo tratan de pasada y creo que son muy importantes para mejorar el funcionamiento de Prestashop.

Concretamente os quería enseñar la forma de mejorar el rendimiento de prestashop utilizando Amazon CloudFront para servir contenidos estáticos.

Amazon CloudFront es el servicio de Amazon AWS que permite distribuir contenidos más rápido y con menor latencia que si lo hicieras desde tu propio servidor. Amazon CloudFront tiene distribuidos a través del mundo varios puntos de salida de forma que entrega los archivos al usuario desde el punto más cercano a su ubicación. Otra ventaja de Amazon CloudFront es que liberas a tu servidor de la entrega de esos ficheros con lo que consigues liberar recursos que podrás utilizar para otras cosas.

Para crear tu distribución lo único que tienes que hacer es ir a tu consola de Amazon y en la pestaña de CloudFront pulsar en “Create Distribution”.

Debes de seleccionar la opción de Custom Origin y en Origin DNS Name poner la página de tu tienda

En la siguiente pantalla debes de indicar un subdominio del dominio de tu tienda, aunque no es obligatorio. En mi caso lo suelo poner siempre por estética ya que si no cuando carga la página los clientes podrían ver que se cargan contenidos de otros sitios con nombres tan extraños como dlskfhxxxis3dhflk23shf.cloudfront.net. En el ejemplo he utilizado ccc1.mitiendac.com

En el último paso podréis ver como queda la distribución que acabáis de crear.

Una vez creada la distribución  podréis ver en el panel de control que hay una nueva distribución y que su estado es “InProgress”. En mi caso permaneció en ese estado unos 10 minutos hasta que pasó al estado “Deployed”  que es cuando ya se puedo empezar a utilizar.

En esta imagen tenéis un ejemplo de como quedaría.


Si habéis decidido utilizar un subdominio de vuestra tienda, mientras que finaliza la creación, podeís ir al servidor dns de vuestro dominio y añadir el subdominio a los dns. Para ello hay que crear una entrada cname con el nombre ccc1.mitienda.com. que apunte al nombre de la distribución que acabamos de crear, por ejemplo xxxxxxxx.cloudfront.net

El último paso es ir al administrador de prestashop y configurar el apartado de CCC (). Para eso hay que ir a Preferencias -> Rendimiento. y activar CCC. añadiendo la distribución. Si habéis utilizado el subdominio hay que poner ccc1.mitienda.com y si no, introducir directamente la distribución, p.e. xxxxxxxx.cloudfront.net en el apartado Servidores de media.

Como veis en la imagen se pueden añadir hasta 3 servidores de media. Para poner otros dos sólo hay que repetir lo anterior otras dos veces.

Por último os quería comentar algo sobre el coste de este servicio pero es difícil ya que es muy variable por que se factura en función del uso así que lo mejor es que vosotros mismos echéis mano de la calculadora y revisando los precios de la página de amazon lo calculéis o que utilicéis la calculadora de Amazon.

Si no os aclaráis con los precios lo que os recomiendo es que lo hagáis y que diariamente reviséis lo que lleváis gastado. Probablemente con el gasto de un par de días “normales” os será mas que suficiente para poder calcular el coste mensual.