Publicidad
Icons

Blog

Hardware, software, cacharreo...
  • Inicio
    Inicio Aquí es donde puedes encontrar todas las publicaciones del blog.
  • Etiquetas
    Etiquetas Muestra una lista de etiquetas que se han usado en el blog.
  • Bloggers
    Bloggers Busca a tu blogger preferido.

Abrir - cerrar Prestashop automaticamente (también modo catálogo automático)

por
  • Tamaño de fuente: Mayor Menor

Un gran error de Prestashop, es que no está habilitada la función de horario de apertura en la tienda, te puedes preguntar, ¿y para que serviría si mi tienda es online?, la respuesta es muy sencilla, ya que si tienes una tienda de comida a domicilio, eso lleva un horario de apertura…

Pues bien, la tarea no es complicada, pero si algo compleja. Vamos a trabajar con unas acciones llamadas “Crono Jobs” (Tareas Programadas).

¿Qué son Crono Jobs?, es la realización automática de una acción, acción programada mediante un script en php que lo que hace dicha programación es ejecutar el script cuando se defina. 

 

Empezamos:

Tutorial válido para apertura y cierre automático de Prestashop y también para puesta de catálogo y tienda automáticamente.

Muchos hosting cuentan con Crono Jobs mediante CPanel, pues ahí deberíamos configurarlo pero vamos a hacerlo pensando que nuestro hosting no nos habilita esa opción (ya que suelen estar habilitados en hostings Premium).

Para ello vamos a SetCronJob ( https://www.setcronjob.com ), es una web que mediante registro de usuario, nos crea un perfil propio donde podemos agregar nuestras tareas.

Una vez registrado, tenemos algo parecido a esto:

 De momento, no hacemos más aquí, ya abarcaremos más adelante.

Ahora, es turno de programar el script en php.


Cierre de tienda:

Lo llamamos por ejemplo cierretienda.php (descarga código aquí)
Y
el código es el siguiente: 

<? 
//Conexion con la base
mysql_connect("DirecciónBBDD","usuario","contraseña");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("NombreBBDD");
//Creamos la sentencia SQL y la ejecutamos
// la línea de abajo, cierra tienda 
$sql="UPDATE  ps_configuration  SET value='0' WHERE  name='PS_SHOP_ENABLE'";
mysql_query($sql);
mysql_close(mysql_connect("localhost","usuario","contraseña"));
?>

Lo que hace el código anterior es cerrar la tienda.

Si queremos dejarlo en catálogo en lugar de cerrar, sustituir:

$sql="UPDATE  ps_configuration  SET value='0' WHERE  name='PS_SHOP_ENABLE'";

Por:

$sql="UPDATE  ps_configuration  SET value='1' WHERE  name='PS_CATALOG_MODE'";

 

 Apertura de tienda:

Lo llamamos por ejemplo aperturatienda.php  (descarga código aquí)
Y el código es el siguiente:

<?
//Conexion con la base
mysql_connect("DirecciónBBDD","usuario","contraseña");
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("NombreBBDD");
//Creamos la sentencia SQL y la ejecutamos
//Habilitando la línea de abajo, dejamos la tienda abierta
$sql="UPDATE  ps_configuration  SET value='1' WHERE  name='PS_SHOP_ENABLE'";
mysql_query($sql);
mysql_close(mysql_connect("localhost","usuario","contraseña"));
?>

 Lo que hace el código anterior es abrir la tienda.

Si queremos poner venta (contrario al catálogo) en lugar de abrir (según lo que hayamos elegido en el paso del cierre), sustituir:

$sql="UPDATE  ps_configuration  SET value='1' WHERE  name='PS_SHOP_ENABLE'";

Por:

$sql="UPDATE  ps_configuration  SET value='0' WHERE  name='PS_CATALOG_MODE'";

 

Una vez realizados los scripts, tenemos 2 archivos php (cierretienda.php  y aperturatienda.php) que debemos poner mediante FTP en nuestro servidor, en la ruta que queramos. Cuando ya están subidos, nos apuntamos la ruta.

 

Accedemos a nuestro perfil de SetCronJob (creado en el primer paso) y realizamos la acción.

Eliminamos las que vienen por defecto:

 Creamos nuestro cierre, para ello clickeamos en CreateJob, ponemos la ruta hasta el archivo cierre de tienda php y en "When you call", elegimos "Current Time Settings":

 

Y guardamos clickeando en "Save CronoJob".

 

Aparecerá lo siguiente: 

 

Creamos la apertura para ello clickeamos en CreateJob, ponemos la ruta hasta el archivo de apertura php y en "When you call", elegimos "Current Time Settings":

 

Con el cierre y apertura, quedará algo así:

Una vez realizado esto, ya estará listo.

 

Cosas a tener en cuenta:

Lo primero que como SetCronJobs es gratuito, permite tener un total de 50 times, nosotros como vamos a abrir y cerrar una vez al día, tendremos dos times. Pero si ejecutamos por ejemplo cada hora las dos acciones tendremos 48 times (cada hora se abriría y se cerraría la tienda), si necesitamos más de 50 times, tendrá que ser con cuenta Premium.

Lo vemos aquí:

 Otra cosa es si queremos ver los logs de cada script, pincharíamos aquí:

 Para detener los scripts, aquí:

 Si nos fijamos, al ser una cuenta gratuita, los scripts tienen como duración 31 días:

 Para ir ampliando, no hace falta pagar nada, basta que cuando vaya llegando a 0, ingresemos en la cuenta y clickeemos en Renew (nos saldrá un Captcha y automáticamente, se renueva el tiempo de 31 días), si no renovamos, dejarán de funcionar.

 Y listo, una vez funcionando los scripts, la apertura y cierre se hará de forma automática.

 

Nota: Si la Crono Jobs, lo realizamos a través del CPanel en lugar de SetCronJob, la realización de la tarea es exactamente igual.

en Blog gavea.es Visitas: 1099 3 Comentarios
Calificar el artículo:

Amante de las nuevas tecnologías, el desarrollo, la programación... en definitiva, un amante de todo lo que hace que un producto se convierta en una herramienta útil para los usuarios. 

Comentarios

  • Invitado
    J Gabriel Viernes, 20 Marzo 2015

    Buenas tardes, como debo hacer para que se ponga modo catálogo y modo venta automáticamente?

  • Rubén
    Rubén Sábado, 21 Marzo 2015

    Buenas tardes J Gabriel, para dejarlo en modo catálogo, debes sustituir en cierretienda.php la siguiente línes:
    $sql="UPDATE ps_configuration SET value='0' WHERE name='PS_SHOP_ENABLE'";
    Por:
    $sql="UPDATE ps_configuration SET value='1' WHERE name='PS_CATALOG_MODE'";

    Y para devolver tu tienda a modo tienda y que aparezca la opción de carrito, debes cambiar en aperturatienda.php estas líneas:
    $sql="UPDATE ps_configuration SET value='1' WHERE name='PS_SHOP_ENABLE'";
    Por:
    $sql="UPDATE ps_configuration SET value='0' WHERE name='PS_CATALOG_MODE'";

    Y listo, debería funcionarte según la hora que programes tus CronoJobs.

    Un saludo y gracias por leernos.

  • Invitado
    Payne Lunes, 08 Junio 2015

    Gran entrada. Usted puede encontrar otros servicios de trabajo cron gratuita en http://www.cronjobservices.com/.

Deja tu comentario

Invitado Miércoles, 29 Marzo 2017
Publicidad
Publicidad
Sky Bet Bonuses by http://bettingy.com/ £30 Free Bets

Esta web utiliza 'cookies' propias y de terceros para ofrecerte una mejor experiencia y obtener estadísticas de visita o usar el sistema de comentarios. Al navegar o utilizar esta web aceptas el uso que hacemos de las 'cookies'. Más información.

Acepto las cookies de este sitio.

EU Cookie Directive Module Information