Añadir aviso en el pie de página de Prestashop

Este módulo, me lo encontré hace bastantes años por la Comunidad, creo que por el 2013, pero se ha terminado actualizando con el tiempo. (No confundir con el módulo de las Cookies)

El módulo está desarrollado por el usuario Vekia de la Comunidad de Prestashop.

El módulo, simplemente muestra un aviso en la parte inferior de la tienda en el que podemos configurar un texto adicional. (Si subimos el scroll hacia arriba o hacia abajo, veremos que podemos ver el aviso en todo momento)

Aviso del pie de página en Prestashop

La instalación y subida del módulo, sin problemas desde la pestaña módulos -> módulos

Instalando módulo en Prestashop para mostrar un aviso informativo en Prestashop

Las opciones de configuración que nos trae el módulo con las siguientes:

  • Mensaje -> Mensaje que se mostrara en el aviso.

    Mensaje de aviso

  • Sidebar height -> Altura del bloque.
  • Sidebar background color -> Fondo del bloque

    Fondo Bloque

  • Sidebar border size -> Borde del bloque

¿Dónde puedo descargar este módulo, discutir los problemas y preguntas las dudas?

Sigue leyendo

Print Friendly

Recibir una alerta de sonido al recibir un pedido en Prestashop

En esta ocasión, hablamos de un módulo que mostrara una notificación por sonido en el panel de administración cuando un cliente realice una compra en la tienda.

No confundir con las alertas de los pedidos por email en Prestashop

El módulo esta desarrollado por el usuario jgullstr de la Comunidad de Prestashop

La instalación y subida del módulo, como suele ser habitual, desde la pestaña módulos -> módulos

Instalando módulo que servirá para recibir una alerta por audio en el panel de administración de que un cliente ha realizado un pedido

El módulo, lleva ninguna opción de configuración adicional,

Si entráis en la configuración propia del módulo, veréis que simplemente se escucha la alarma a modo de demostración, pero que no permite ninguna opción de configuración adicional.

Configuración del módulo

Simplemente cuando el cliente haga un pedido en tu tienda, y tu estes en tu panel de administración se escuchara un audio de aviso.

Por otro lado el audio de sonido que se escucha, esta guardado en el directorio: “/modules/neworderalarm/media/

Si nos podemos a estudiar el código del módulo, vemos que en la clase del módulo “neworderalarm.php” que el módulo queda registrado en los dos siguientes hooks:

  • displayBackOfficeFooter -> Hook situado en el pie de página del panel de administración.
  • actionValidateOrder -> Hook que se ejecuta cuando se realiza el pedido.

¿Dónde puedo descargar el módulo para que en mi panel se escuche una alerta de audio cuando el cliente haga un pedido en la tienda?

  • https://www.prestashop.com/forums/topic/284580-module-new-order-alarm-ps-15/

Review realizado bajo Prestashop 1.6.1.14 y la versión “1.0.1” del módulo.

Print Friendly

Adjuntar ficheros en el formulario de registro en Prestashop

Permitir que el usuario pueda enviar un fichero en el formulario de registro en Prestashop

El módulo permite que el usuario que se registre en la tienda pueda enviar en ese momento un documento para poder recibirlo nosotros.

Esta desarrollado por Hennes Hervé al igual que el módulo que permitía asignar automaticamente grupos en base a condiciones del registro de clientes.

La instalación y subida del módulo, sin problemas, desde la pestaña módulos -> módulos.

Instalando módulo que nos permitirá que el cliente en el momento de registrarse pueda enviar un documento

El módulo, no tiene ninguna opción de configuración en el panel.

Analizamos varias partes del código del módulo:

En el fichero:

modules/hhregistration/hhregistration.php

Vemos que tenemos un atributo privado de la clase del módulo llamado: _registration_allowed_extensions con este contenido:

array('pdf','doc','docx','jpg','png','gif','txt');

Esta son las extensiones de los ficheros que están permitidos subir, podemos añadir nuevas, o cambiarlas.

También, vemos que tenemos otro atributo privado de la clase llamado $_upload_dir ques donde indicamos el directorio donde se guardaran los ficheros que sube el cliente en el formulario de registro. En nuestro caso particular tiene asignado el directorio “files” que tenemos dentro del módulo.

Vemos que el módulo se registra en dos hooks (lo podemos ver dentro de la función install() )

  • displayCustomerAccountForm -> Muestra el campo nuevo en el formulario del registro (el hook esta disponible en el formulario de registro, por eso el dato que vamos añadir en este hook se vera luego en el formulario de registro)
  • actionCustomerAccountAdd -> Se ejecuta automáticamente cuando el usuario crea una cuenta en la tienda.

¿Qué contenido tiene la función del hook -> actionCustomerAccountAdd en nuestro caso particular?

Lo que hacemos es recoger el fichero que enviamos en el formulario de registro y guardarlo en el directorio “files” que esta dentro del mismo directorio del módulo.

¿Qué contiene tiene la función del hook -> displayCustomerAccountForm en nuestro caso particular?

Tiene simplemente el return al tpl que tiene el nuevo campo del fichero que luego aparecerá en el formulario del registro.

return $this->display(__FILE__, 'hookDisplayCustomerAccountForm.tpl');
  • ¿Qué contiene el fichero: hookDisplayCustomerAccountForm.tpl?
  • <div class="form-group">
    <label for="file-input">{l s='Justificatif Professionnel' mod='hhregistration'}</label>
    <input type="file" name="file_input" />
    </div>
    

    Simplemente contiene el campo “nuevo”  que se mostrara en el formulario del registro.

Ahora se muestra ya el nuevo campo en el formulario de registro, pero os falta el detalle de cambiar en el fichero:

/themes/default-bootstrap/authentication.tpl

Esta línea:

<form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="account-creation_form" class="std box">

por

</form><form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="account-creation_form" class="std box" enctype="multipart/form-data">

Hemos “añadido” en el form la siguiente instrucción: enctype=”multipart/form-data” para permitir que el formulario pueda enviar ficheros.

Recordar que los ficheros que el usuario enviar al registrarse en la tienda se guardan en el directorio: “modules/hhregistration/files/

¿Dónde puedo descargar el módulo actualizado que añade un campo nuevo en el formulario de registro que permite al usuario que se registra en tu tienda enviar un fichero y estar al tanto de las novedades de ese módulo?

  • https://github.com/nenes25/prestashop_hhregistration/
  • http://www.h-hennes.fr/blog/2016/02/18/prestashop-envoyer-des-fichiers-lors-de-la-creation-du-compte-client/

Evidentemente en la versión actual del módulo no estamos comprobando el cliente que ha enviado el fichero, al menos en la versión actual del módulo, el módulo simplemente podríamos decir que sirve para probarlo y testear el funcionamiento de los dos hooks que usa el módulo

Sigue leyendo

Print Friendly

Añadir ficheros CSS y JavaScript en Prestashop

En esta ocasión, vamos hablar de un aporte desarrollado por el usuario Tuni-Soft de la Comunidad de Prestashop, que nos permite cargar nuestros propios ficheros *.css y *.js para luego cargarlos tanto en la tienda como en el mismo panel de administración.

La instalación y subida del módulo, sin problemas, desde la pestaña módulos -> módulos

El módulo, no ofrece ninguna configuración adicional y funciona de la siguiente forma:

En el directorio del módulo:

/modules/medialoader/

No debemos fijar en las siguientes 4 carpetas:

Carpeta para cargar nuestros CSS Y JS en Prestashop mediante un módulo

  • css -> Aquí metemos los ficheros CSS que luego cargaran en la tienda
  • js -> Aquí metemos los ficheros JS que luego cargaran en la tienda
  • bo_css -> Aquí metemos los ficheros CSS que cargaran en el panel de administración de tu tienda
  • bo_js -> Aquí metemos los ficheros JS que cargaran en el panel de administración de tu tienda

A nivel de código el módulo simplemente se instala en dos “hooks” en el displayHeader (hook donde cargan JS y CSS en el front-office) y en el displayBackOfficeHeader (hook donde cargan los JS y CSS en el back-office (panel)) y luego dentro de la función de los hooks, lo que hace es buscar dentro de los directorios que hemos comentado anteriormente y hacer uso de la función addCSS (para añadir los CSS) y de la función addJSS (para añadir los JS). (Si tenéis interés revisar el fichero medialoader.php)

¿Dónde puedo descargar este aporte para poder cargar mis ficheros JS y CSS en Prestashop?

https://www.prestashop.com/forums/topic/386184-free-medialoader-module-load-your-js-and-css-files-easily/

Por cierto, ¿Recordáis que también podíamos usar contentbox para cargar nuestros ficheros JS y CSS en la sección “Load Files on HTML Header ?

Sigue leyendo

Print Friendly

Programar copias de seguridad de la base de datos en Prestashop

Como bien sabemos muchos, podemos hacer copias de seguridad de la base de datos de forma manual, desde el panel de administración en la pestaña Parámetros Avanzados -> Copia BD

¿Pero como podemos programar estas copias de seguridad de la base de datos en Prestashop para que sean automáticas?

Disponemos de un aporte desarrollado por el usuario Captain FLAM de la Comunidad de Prestashop

El aporte, es un fichero denominado “cron_database_backup.php” con el siguiente contenido:

<?php
if (!defined('_PS_ADMIN_DIR_')) {
define('_PS_ADMIN_DIR_', getcwd());
}
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
include(_PS_ADMIN_DIR_.'/../classes/PrestaShopBackup.php');
if (isset($_GET['secure_key'])) {
$secureKey = md5(_COOKIE_KEY_.Configuration::get('PS_SHOP_NAME'));
 if (!empty($secureKey) && $secureKey === $_GET['secure_key']) {
$shop_ids = Shop::getCompleteListOfShopsID();
foreach ($shop_ids as $shop_id) {
Shop::setContext(Shop::CONTEXT_SHOP, (int)$shop_id);
$back = new PrestaShopBackup();
$back->add();
}
}
}

Si nos ponemos a analizar el código, aquí la clave es el siguiente código:

$back = new PrestaShopBackup();
$back->add();

Creamos un objeto de la clase PrestaShopBackup y ejecutamos la función “add” de dicha clase, de esta manera generamos una copia de seguridad.El fichero “cron_database_backup.php” lo guardamos en el directorio (carpeta) de administración de tu tienda, es decir si accedes al panel de tu tienda con la siguiente dirección:

http://victor-rodenas.com/administración/ 

Lo guardamos dentro de la carpeta /administración/

Por últimos nos falta añadir la siguiente URL al Cron:

http://victor-rodenas.com/administración/cron_database_backup.php?secure_key=CLAVE

En referencia a la CLAVE, por ejemplo, si nos vamos al panel de administración en la pestaña Localización -> Monedas, podemos obtenerla de otra URL que tengamos.

El siguiente paso, es pegar nuestra dirección:

http://victor-rodenas.com/administración/cron_database_backup.php?secure_key=CLAVE 

en la pestaña módulos -> módulos dentro de la configuración del módulo  “Gestor de tareas cron (cronjobs)

Accediendo a la configuración del módulo para automatizar tareas en Prestashop

Y en su configuración, añadimos la dirección que hemos comentado:

Añadiendo regla a CRON en Prestashop

¿Dónde puedo descargar el aporte, preguntar dudas y ver los posibles errores?

  • https://www.prestashop.com/forums/topic/613661-sauvegarde-automatique-de-la-base-de-donn%C3%A9es-avec-le-module-cron/
  • https://www.prestashop.com/forums/topic/613659-auto-database-backup-with-cron-module/

Documento realizado bajo Prestashop 1.6.1.14 y la versión “0.0” del aporte.

Print Friendly

Asociar grupo en base al registro de clientes en Prestashop

En esta ocasión, vamos hablar de un módulo desarrollado por Hennes Hervé.

El módulo permite que cuando el usuario se registre en tu tienda, automáticamente se le asocie un grupo de cliente en base a las condiciones que hayamos establecido en la misma configuración del módulo.

Por ejemplo, podemos tener grupo de Mujeres y grupo de Hombres, entonces cuando el cliente se registra y señala por ejemplo que es un “Hombre”, automáticamente queda asignado al grupo de hombres.

Hemos hablado de una condicional, pero se puede hacer en base al resto de datos del registro del cliente, incluyendo los datos de la dirección como el mismo país, provincia, etc…

El review lo vamos a realizar bajo Prestashop 1.6

La instalación del módulo, sin problemas, desde la pestaña módulos > módulos

Instalando módulo que nos permitirá una asociación automática de los grupos a los usuarios que se registren en la tienda en base a unos determinados criterios

Instalando módulo que nos permitirá una asociación automática de los grupos a los usuarios que se registren en la tienda en base a unos determinados criterios

Para poder configurar el módulo, tenemos que ir a la nueva pestaña que el módulo nos ha creado dentro de la pestaña Clientes, llamada “Customers Auto groups”

Accediendo a la configuración del módulo desde la pestaña Clientes

Una vez accedemos a la configuración del módulo, podemos añadir nuestras reglas, modificar las que vayamos a crear o eliminarlas.

Creando una nueva regla en la configuración del módulo

Creando una nueva regla en la configuración del módulo

Si pulsamos en “+”, veremos las opciones que nos permite a la hora de crear la nueva regla.

Primer bloque de configuración

Primer bloque de configuración

  • name -> Nombre de la regla
  • description -> descripción de la regla
Segundo bloque de configuración

Segundo bloque de configuración

  • Condition Type -> La condición se aplica sobre los datos básicos del registro (customer) o sobre los datos de la dirección del cliente (address)

    Tipo de condición a la hora de asignar el grupo al Cliente

    Tipo de condición a la hora de asignar el grupo al Cliente

  • Condition Field -> Seleccionamos el campo de los datos básicos del registro o de la dirección (dependiendo lo que hayamos seleccionado en “Condition Type”) para hacer la condición de la asociación del grupo en base a este campo.
  • Condition Operator -> Disponemos de varios operadores, por ejemplo si el campo “id_gender (genero del cliente)” es igual al ID 1 que corresponde al genero Mujer (Sra.) usaremos “=”. (Disponemos de varios operadores según como vayamos a realizar la comparación)

    Operador de la condición

    Operador de la condición

  • Customer Group-> Elegimos a que grupo quedara asignado este cliente. (Los grupos que aparecen aquí son los que vienen en la pestaña Clientes -> Grupos)

    Grupo de Clientes

    Grupo de Clientes

Tercer bloque de configuración

Tercer bloque de configuración

  • Priority -> Prioridad de la regla sobre otras que tengamos creadas
  • Active -> Esta opción es para indicar si la regla está activa o no lo está.
  • Stop processing further rules -> Si activamos esta “opción”; significa que la actual regla sera la última que se vaya aplicar al cliente en el registro.
  • Delete all others groups -> Dejar al cliente solo en el “Grupo” que le hemos asignado en la condición. (Opción dependiente también de la opción  “Stop processing further rules”)

Decir, que por supuesto se pueden jugar con varias reglas a la hora de asignar clientes a grupos en el registro.

¿Dónde puedo ver información sobre las actualizaciones del módulo, descargar la última versión y ver si funciona en Prestashop 1.7?

  • https://github.com/nenes25/prestashop_customerautogroups
  • http://www.h-hennes.fr/blog/2015/11/10/prestashop-ajouter-automatiquement-les-clients-a-un-groupe-lors-de-linscription/

(El módulo tiene una versión “beta” que funciona en Prestashop 1.7, revisar los enlaces que os he pasado)

Documento realizado bajo Prestashop 1.6.1.14 y la versión “0.4.0” del módulo.

Print Friendly

Suscripciones cuando el producto cambia de precio en Prestashop

En esta ocasión, contamos con un módulo desarrollado por el usuario DataKick de la Comunidad de Prestashop.

Este módulo gratuito permite a los clientes una especie de suscripción a los productos para que cuando los precios varíen, puedan recibir una notificación de este dato y estar al tanto de si el precio del producto ha variado.

El módulo es válido tanto para productos básicos, como productos con combinaciones y por supuesto podemos personalizar el email que lleva el módulo a nuestro gusto.

La instalación del módulo, sin problemas desde la pestaña módulos -> módulos

Instalación módulo suscripción de la variación de los precios en Prestashop

¿Cómo funciona el módulo?

Vamos a la ficha de un producto cualquiera, y veremos ahora una opción nueva llamada: -> “Alert me when price drops” debajo del bloque de Añadir al carrito.

Botón suscripción al producto en Prestashop

Al pinchar en el botón, se nos abrirá un popup:

Configuración suscripción precio producto en Prestashop

Podemos elegir a partir de cuándo se activa la alerta, es decir cuando el precio baja de XX Euros, que nos envié una alerta.

Configurando alerta a partir de la baja de X precio en Prestashop

Si el producto tiene combinaciones, como es este ejemplo podemos crear alertas por el precio en base a las combinaciones.

Combinaciones Precio Productos alertas

Y finalmente, tenemos el botón para “crear las alertas”

Botón crear alerta para los precios en Prestashop

Si no estamos registrados y pulsamos en el botón de “Crear la alerta”, nos permite colocar un “email”.

Email alerta precio en Prestashop

Y si estamos registrados usara el email del cliente.

El cliente recibirá el siguiente email:

Email suscripción variación del precio

Por cierto, en la actual versión del módulo en la carpeta “mails” del módulo en “modules/pricealert/mails/” solo viene el directorio “en”, duplicar ese directorio, y al duplicado cambiarle el nombre a “es”.

Después ya en la pestaña Localización -> Traducciones -> Modificar Traducciones -> Traducciones de los Emails, ya podéis cambiarlo y “traducirlo realmente” al Español.

Por otro lado y para finalizar esta minireseña, las suscripciones se guardan en la tabla: ps_ph_pricealert de la base de datos.

¿Dónde puedo descargar este módulo, preguntas dudas y obtener soporte?

https://www.prestashop.com/forums/topic/612554-free-module-pricealert-follow-the-price/

Documento realizado bajo la versión 1.6.1.13 de Prestashop y la versión “1.0.1” del módulo.

Print Friendly

Botón Whatsapp en Prestashop 1.7

Si hablamos del código del botón del Whatsapp, decir que lo podemos insertar directamente con módulos como el contentbox / htmlbox que si recordamos en la comparativa que hicimos en su momento permitían insertar codigo html, javascript, css, etc.. en Prestashop de forma sencilla.

Realmente el código que nos proporciona Whatsapp es el siguiente:

https://api.whatsapp.com/send?l=es&phone=NumerodeTelefono

Con un poco de ingenio, podemos hacer un enlace con un botón y situarlo en la parte inferior de forma flotante en Prestashop con alguno de los dos módulos que he dicho.

Pero bueno, como ya disponemos de un módulo desarrollado por el usuario bera_ramazan de la Comunidad de Prestashop, pues podemos usar ya el módulo que viene preparado con opción a configurar el teléfono en una casilla desde el panel y con el icono en la tienda.

La instalación del módulo, sin complicaciones, desde la pestaña módulos -> módulos

¿Qué opciones de configuración nos ofrece el módulo?

Whatsapp en Prestashop

Whatsapp en Prestashop

Simplemente, nos muestra una casilla para introducir nuestro teléfono.

Configuración módulo Whatsapp en Prestashop

¿Cómo se ve el módulo en nuestra tienda?

Botón Whatsapp en Prestashop

¿Dónde se puede descargar el módulo actualizado, preguntar dudas y obtener soporte?

https://www.prestashop.com/forums/topic/613462-free-module-whatsapp-chat-module/

Documento realizado bajo Prestashop 1.6.1.13 / 1.7.1.1 y la versión “1.0.0” del módulo.

Print Friendly

Cambiar colores en Prestashop 1.7

En su momento, estuvimos hablando a modo de ejemplo de cambiar 2/3 fondos de la plantilla por defecto en Prestashop 1.7 añadiendo nuestros propios estilos en el fichero /themes/classic/assets/css/custom.css 

En esta ocasión, vamos hablar de un módulo desarrollado por el usuario shacker de la Comunidad de Prestashop, que nos permitirá cambiar colores “generales” sin tener que añadir nosotros nuestros propios estilos o modificar estilos existentes de forma manual.

La instalación del módulo, sin ningún problema desde la pestaña módulos -> módulos

Módulo para cambiar colores en Prestashop 1.7

En la configuración del módulo vemos las opciones que nos permite a la hora de cambiar los colores de la plantilla.

Para no dar un repaso a todas las opciones, vamos a chequear por ejemplo 3 opciones:

Configuración de módulo para cambiar colores básicos en Prestashop 1.7

En la imagen, hemos señalado un color para el encabezado, otro para los precios y otro para el pie de página

A la hora de cambiar/elegir el color nos proporciona una paleta con la que nos facilita la elección del color:

Paleta de colores

En nuestro caso, el resultado final ha quedado de la siguiente forma:

Color de fondo pie de página en Prestashop 1.7

Color precio de los productos en Prestashop 1.7

Color cabecera en Prestashop 1.7

¿Dónde puedo descargar este módulo para poder cambiar colores en Prestashop 1.7?

Sigue leyendo

Print Friendly

Información sobre las posiciones y módulos en Prestashop

En esta ocasión vamos hablar de un módulo desarrollado por el usuario coeos.pro de la Comunidad de Prestashop que ha ido actualizándose a lo largo del tiempo para funcionar sobre las distintas versiones de Prestashop.

El módulo nos permite conocer información relativa a las posiciones de la tienda, información sobre los módulos instalados (localización del CSS, JS, etc..)

La instalación del módulo, como suele ser habitual la realizamos desde la pestaña módulos -> módulos

Accediendo a la configuración del módulo para ver información relativa a los módulos y posiciones en Prestashop

Inicialmente las opciones de configuración, que nos ofrece el módulo son las siguientes:

Configurando el módulo

  • Address IP -> Solo las IP de las conexiones que vayamos a colocar aquí, verán la información de este “debug”. (Si lo queremos ver nosotros “solos”, colocamos nuestra IP publica (cualesmiip.com) de conexión a internet)
  • open block H-M -> Dependiendo la opción que seleccionemos aquí, por ejemplo, nos permite ver la información solo cuando pulsamos en los bloques, o verla directamente desplegada si seleccionamos “all the time”

    Desplegando toda la información

  • CSS and JS -> Si activamos esta opción mostramos la información de las rutas de los CSS y JS de los módulos

Por ejemplo, si nos vamos a la ficha del producto en Prestashop (pongo un extracto de una imagen, vemos la siguiente información):

Viendo información en la ficha del Producto

En esta captura (recordamos que esta recortada), vemos el hook displayRightColumnProduct y el hook “displayProductButtons” y vemos los módulos que tenemos instalados y la ruta de los TPL, JS, PHP.

¿Dónde puedo descargar este módulo, ver los problemas y preguntar dudas?

https://www.prestashop.com/forums/topic/468925-what-is-this-module-what-is-this-hook-css-js-tpl/

Aunque el documento esta construido bajo Prestashop 1.6 (Sigo diciendo que a día de hoy sigue siendo la versión mas estable), el desarrollador esta actualizando el módulo para su funcionamiento en Prestashop 1.7 Sigue leyendo

Print Friendly