Mejorar velocidad PrestaShop optimizando base de datos


Mejorar velocidad PrestaShop optimizando base de datos


Código sql para vaciar/truncar las tablas: TRUNCATE prstshp_guest; TRUNCATE prstshp_connections; TRUNCATE prstshp_connections_page; TRUNCATE prstshp_connections_source; TRUNCATE prstshp_page_viewed;
TRUNCATE prstshp_log; TRUNCATE prstshp_mail;


Impactos: 0

Configurar recoger en tienda

Tutorial de 7 pasos para crear un Módulo para retirar y pagar en tienda un pedido, con la posibilidad de configurar diferentes tiendas.

Por defecto en Prestashop esta opción no está creada o instalada ni existe la posibilidad de hacer a no ser que se instale un módulo de prestashop.

Tenemos la opción de pago contra reembolso que lo que hace es generar una forma de pago para envíos de pedidos, pero no para retirar y pagar en tienda.

Hay varios módulos de pago como transferencia bancaria, pago con cheque y ahora el módulo para pagar con tarjeta llamado módulo prestashop Checkout, que no es más que una asociación de Prestashop y PayPal para realizar cobros con tarjeta de crédito, y tarjetas de débito pero con comisión. En la descripción de este módulo explica que ofrece a tus clientes los métodos de pago más utilizados con este módulo todo en uno y administra todas tus ventas en una interfaz centralizada…podemos obtener el modulo prestashop gratis, claro está que no explica que si bien el módulo es gratuito, pero los cobros tienen una comisión que no es poco.

Hace un tiempo la empresa digitalDot desarrolló un módulo para hacer cobros con Bizum y la base de este fué tomada desde un módulo de pago, donde se envía por mail de la información necesaria para realizar el cobro. Si quieren este módulo debajo dejo el enlace para que puedas contactar al desarrollador y descargarlo de forma gratuita.

Tomamos como base este módulo de pago por Bizum y creamos un nuevo “Módulo para Retirar y pagar en Tienda” que cumple la función de poder realizar pagos en diferentes sucursales al retirar un pedido. Esto sirve para que un comercio con más de una tienda desde donde poder retirar un pedido, al momento de pagar en tu carrito podrás seleccionar desde cual de estas tiendas deseas que retirarlo y pagarás tu compra.

Hasta aca esta claro, pero en el fondo este “Módulo para Retirar y pagar en Tienda” de Prestashop tiene mucho más poder que el que explique. Pongamos un ejemplo que un comercio tiene 2 tiendas para retirar el pedido, la Tienda #1 y la Tienda #2, vimos que al momento de hacer el pedido el cliente y seleccionar la Tienda #1, le llega un mail desde donde le dice que tiene que retirar desde la Tienda #1 y los datos de su pedido con el total a pagar. Pero en el backend (el panel de control) de la tienda sucede algo muy bueno para el comercio y es que la Tienda #1 tiene colocado el filtro de Tienda #1 como forma de pago y va a poder identificar y prepara mucho más rápido los pedidos que le corresponden.

Todo esto un poco más abajo lo mostraré y no solo eso, sino que te enseñaré cómo configurarlo para que lo hagas y lo personalices con la cantidad que quieras de Tiendas o Sucursales.

Otro punto a tener en cuenta y creo que es muy bueno es que cuando alguien hace un pedido, al momento de seleccionar la forma de envío, por ejemplo “Retirar y pagar en Tienda” o “Que me lo envíen hoy” dependiendo de esta selección se habilita la forma de pago que sería “Retirar desde Tienda #1” si antes seleccionamos “Retirar y pagar en Tienda”.

De igual manera si seleccionamos “Que me lo envíen hoy” se habilita como forma de pago “Pagar contra reembolso” o “Pagar con tarjeta”… claro que es un ejemplo y pueden haber muchas formas de pagos más 

1- Descarga y personalización del Módulo para Retirar y pagar en Tienda

Comencemos, vamos a ver como crear modulo prestashop 1.7,como primer punto descargamos el módulo para Prestashop 1.7.6 desde este enlace “Módulo para Retirar y pagar en Tienda”. No está probado en otras versiones así que si quieren probarlo pueden dejar un comentario a ver cómo les ha ido.

Una vez descargado lo descomprimimos y vemos que la carpeta que contiene los archivos se llama “dd_tiendauno” cambiamos el nombre de la carpeta por el nombre de la tienda, en este caso vamos a hacer un ejemplo y le cambiaremos el nombre de “dd_tiendauno” a “dd_tiendados”. Este nombre claro que puede ser más complejo y diferente pero hay que tener claro que cada dato que cambiemos tiene que respetarse dentro de los archivos o no podrás instalarlo.

Al descomprimir quedaría así:

Cambiado el nombre quedaría así:

Luego dentro de la carpeta verás que hay un archivo que se llama igual que la carpeta pero .php para que funcione recuerda siempre dejar el mismo nombre que la carpeta anterior, ejemplo: si la carpeta se llama “dd_tiendauno” el archivo será “dd_tiendados.php”.

También lo modificamos como y cambiamos el nombre “dd_tiendauno.php” por “dd_tiendados.php”.

2- Configuración y setup del Módulo para Retirar y pagar en Tienda.

Este archivo “dd_tiendados.php” lo abres y lo editas en el programa que te guste, yo utilizo Dreamweaver. Una vez lo abrimos hay que comenzar a ejecutar acciones pero primero vamos a explicar cuales son.

Nuestra tienda en este caso se llamará “Tiendados”, pero podríamos haberle puesto el nombre “Valencia” por ejemplo. Ahora vamos a ejecutar varias acciones para cambiar todos los nombre que en este ejemplo están como “Tiendauno” y lo cambiaremos como “Tiendados”.

En esta acción vamos a cambiar los siguientes nombre o eventos o datos, como quieran llamarle, pero mucho OJO tenemos que respetar los nombre y las mayúsculas:

  • El dato “tiendauno” lo cambiaremos por “tiendados”
  • El dato “TIENDAUNO” lo cambiaremos por “TIENDADOS”
  • El dato “TYENDAUNO” lo cambiamos por “TYENDADOS” (ojo que la “I” se ha transformado en una “Y” ya que este dato es diferente al anterior
  • El dato “Tiendauno” lo cambiamos por el dato “Tiendados”
  • El dato «la Tienda Uno» lo podemos personalizar y usar el nombre nuestra tienda por ejemplo “la Tienda de Juan” y el mensaje quedaría como “Pagar en la tienda de Juan”. Este dato es de lectura, esto significa que podemos personalizarlo pero siempre y cuando con mucho cuidado ya que son todos datos sensibles.

Nota: esta configurado predeterminada es para que el cliente seleccione entre “tiendas“ así que aquí podemos editar el mensaje que recibirá como por ejemplo “Pagar en la Tienda Uno”, más adelante mostramos cómo hacerlo.

Para esto vamos a realizar varias acciones con el comando “Buscar y reemplazar en archivos…” que para comenzar podemos hacerlo en Dreamweaver de dos maneras, desde el menú Buscar o haciendo clic derecho sobre el panel central.

Cuando se abra hay que buscar y seleccionar la carpeta donde están todos los archivos:

Y asegurarnos de seleccionar bien la carpeta ya que la acción que vamos a ejecutar buscará y cambiará el dato en todos los archivos al mismo tiempo, con esto ahorraremos mucho tiempo y no tendremos que ir uno a uno.

Ahora ya podemos buscar y reemplazar los datos y la carpeta estará seleccionada  para buscar los datos en estos artículos.

Comenzamos con el dato “tiendauno” lo cambiaremos por “tiendados”

Luego nos saldrá el mensaje que “Esta operación no se puede deshacer en documentos que no están abiertos. ¿Seguro que desea reemplazar todas las coincidencias?” y le damos que si.

Y ya abre y modifica estos datos:

Luego repetimos esta acción con el resto de datos:

  • El dato “TIENDAUNO” lo cambiaremos por “TIENDADOS”
  • El dato “TYENDAUNO” lo cambiamos por “TYENDADOS” (ojo que la “I” se ha transformado en una “Y” ya que este dato es diferente al anterior
  • El dato “Tiendauno” lo cambiamos por el dato “Tiendados”
  • El dato «la Tienda Uno» lo podemos personalizar y usar el nombre nuestra tienda por ejemplo “la Tienda de Juan” y el mensaje quedaría como “Pagar en la tienda de Juan”. Este dato es de lectura, esto significa que podemos personalizarlo pero siempre y cuando con mucho cuidado ya que son todos datos sensibles.

Ahora que terminamos la configuración, guardamos este archivo que tenemos abierto (Ctr + s) y cerramos el Dreamweaver.

3- Modificación de los nombres de las plantillas de Mail del Módulo para Retirar y pagar en Tienda.

Ahora solo queda cambiar los nombre de las plantillas de mail que están dentro de la carpeta mail y luego el idioma, el /es/ y el /en/, cambiamos dos archivos en cada carpeta y estos son “tiendauno.html” y “tiendauno.txt” por los siguientes “tiendados.html” y “tiendados.txt”, tiene que quedar de la siguiente manera.

4- Creación del archivo ZIP para instalar el Módulo para Retirar y pagar en Tienda.

Volvemos a la carpeta principal y la comprimimos en un ZIP y quedaría así: “dd_tiendados.zip”

En un principio no tienes que hacer nada más en este paso solo tomar precauciones y para esto lee la siguiente Nota.

Nota: Cuando descomprimimos la primera vez (dependiendo del programa) nos puede haber descomprimido en una carpeta, dentro otra igual y dentro los archivos, pero para cuando comprimimos la estructura tiene que quedar así: “tiendados.zip” , dentro la carpeta “tiendados” y dentro los archivos. Mirar bien esto dependiendo el programa que utilicen porque luego no podremos instalarlo.

5- Instalar el Módulo para Retirar y pagar en Tienda en Prestashop.

Ahora veamos como instalar modulo prestashop.
Para instalar modulo prestashop manualmente,vamos al panel de control de Prestashop y a módulos, buscamos instalar un módulo como lo hemos hecho siempre  y seleccionamos nuestro archivo ZIP.

Hacemos clic en configurar…

y completamos los campos, en el campo “Tienda seleccionada (nombre)” recomiendo que sigas utilizando el mismo nombre así que escribiría “Tienda de Juan” pero claro que lo puedes personalizar, es más que nada para los mails que recibirá el cliente y tu como administrador…

como ejemplo los completaré con estos datos y veremos como se ve en la tienda…

Si ahora vamos a módulos y vemos los módulos instalados veremos que tenemos el anterior que he instalado de “Tiendauno” y el que hemos hecho juntos llamado “Tienda de Juan”

6- Prueba del Módulo para Retirar y pagar en Tienda en Prestashop

Bien, ya estamos en el último punto luego de habernos transformado en programadores sin serlo, felicitaciones. Solo nos queda hacer una prueba y ver como queda nuestro modulo para prestashop.

Vamos a la tienda y hacemos un pedido, seleccionamos la forma de pago “Pagar en la Tienda de Juan”

Cuando el pedido está hecho vemos la pantalla de confirmación, en este momento se lanzaron 2 mails al cliente con el pedido y la confirmación.

Ahora vamos al panel de control de pedidos y podemos identificar el pedido y hacer seguimiento, claro que la configuración de colores y desde prestashop se puede hacer sin problemas.

7- Extra para personalizar el color y nombre del estado del pedido, y para ver como se configura el transportista.

Esto se hace desde Parámetros de la tienda > Configuración de pedidos > y seleccionamos la pestaña “Estados”.

Ahora vamos un extra que está muy bueno y es práctico. Cuando configuramos los transportistas tenemos que crear el «Retirar en tienda» que puede o no tener costo (esto lo decides tu) y con este medio de transporte en  la pestaña Pago > Preferencias podremos selecciona para el transporte «Retirar en Tienda» que solo muestre como forma de pago las tiendas que hemos dado de alta.

Impactos: 0

How can I create a child theme in Prestashop

image.png

First of all, you need to have an installed theme on your store(root/themes folder) that will be used as a parent for your child theme. Create a new folder in /themes folder( For example: childtheme) copy below files from parent theme folder to child theme folder

 ├── config  │   └── theme.yml  └── preview.png 

open theme.yml file of child theme and specify which theme should be used as a parent.

parent: classic name: childtheme display_name: My first child Theme version: 1.0.0 assets:   use_parent_assets: true 

Now go to back office where you can see a new child theme will appear and you are all set.

Impactos: 0

Módulo para borrar cache de forma automática.

image.png
Hoy te mostraré cómo borrar el caché mediante programación en PrestaShop. Por ejemplo, puede realizar una tarea CRON que ejecutará este pequeño script PHP una o más veces al día, según sus necesidades.
1. Create PHP file in your store root (main) directory and name it as you wish – in this example it’ll be cache_clear.php
2. Open this file and paste

include('./config/config.inc.php');

$token = Tools::getValue('token');

if($token == “vBnmmP3218”) {
    Tools::clearSmartyCache();
    Tools::clearXMLCache();
    Media::clearCache();
    Tools::generateIndex();
    echo “Cache clear ended successfully.”;
} else {
    echo “Wrong security token – cache clear failed.”;
}
3. Change the string vBnmmP3218 to your random one (stronger is more secure).
4. Save the file.
5. Add script URL to your CRON task manager or execute it directly via your browser in format: http://{your_store_url}/cache_clear.php?token=vBnmmP3218

For example: http://example.com/cache_clear.php?token=vBnmmP3218

Impactos: 0

Desinstalar completamente php en ubuntu 18.04

prestashop

Desinstalar completamente php en Ubuntu 18.04

Eliminar completamente php from ubuntu 18.04 usando en una terminal el siguiente código

sudo apt-get remove –purge php*
sudo apt-get purge php*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get remove dbconfig-php
sudo apt-get dist-upgrade

A continuación una instalación limpia.

sudo apt-get instasll php

How to Completely uninstall PHP and MySQL at ubuntu and install fresh PHP&MySQL in UBUNTU

Impactos: 0

Modificar masivamente los transportistas en la tabla product Prestashop

prestashop

Modificar masivamente los transportistas en la tabla product Prestashop

 

Primero de todo haz una copia de la base de datos, si no, no continúes y siempre bajo tu responsabilidad, tocar directamente la base de datos no es lo más recomendable.

 

Los id’s de los transportistas los puedes mirar en la pestaña transporte->transportistas.

La tabla que tienes que actualizar es la de ps_product_carriers, y tienes que hacer lo siguiente

1- Descarga el fichero que adjunto, que es un CSV de ejemplo con 2 productos, 2 transportistas, 1 tienda.

2- En la columna 1 del csv pon todos los IDS de tus productos, si son correlativos pues acabarás en un momento si hacer arrastrar.

3- EN la columna 2 pones el ID del primer transportista

4- En la columna 3 si sólo tienes una tienda pon en todos un 0.

Repites el proceso para todos los transportistas (columna2), en diferentes csv’s para que no te equivoques.

5- Cuándo ya los tienes todos, te vas al administrador de tu base de datos, te metes en la tabla que te dije más arriba y te vas al apartado operaciones y le das a vaciar tabla.

6- Ahora te vas a Importar y seleccionas el fichero CSV que corresponda,

7- En importación parcial le pones que quieres omitir 1 linea (que son los nombres de las columnas)

8- En formato te aparecerá CSV y luego en “Columnas separadas por” le pones “;” (sin comillas, solo el punto y coma)

9- Importar.

Si para el primer transportista te funciona pues haces lo mismo para el resto, y luego sólo tendrás que quitar los productos que no quieras de cada transportista, eso ya desde al administración de prestashop.

Crear un fichero .BAT

@echo off
@rem 1: Recoger en tienda
@rem 2: Paqueteria standard
@rem 3: Paqueteria Premium
@echo id_product;id_carrier_reference;id_shop > ps_product_carriers.csv
@for /L %%i in (1,1,1316) do (
@echo %%i;1;1 >> ps_product_carriers.csv
@echo %%i;7;1 >> ps_product_carriers.csv 
@echo %%i;9;1 >> ps_product_carriers.csv 
)

Impactos: 0

PRESTASHOP: Añadir cif a la factura PDF

prestashop

Para mostrar en nuestras facturas el CIF de nuestra empresa (o DNI en caso de que seas autónomo) tenemos dos formas de hacerlo, una muy sencilla y otra algo más complicada.

1.- Forma fácil

Ir a Pedidos->Facturas donde verás un campo que pone Texto legal libre que podrías aprovechar para poner el CIF de tu empresa.

Este método tiene un inconveniente, ya que el CIF o DNI saldría en la parte inferior de la factura y no parece la forma más profesional.

2.- Forma menos sencilla

Para conseguir poner el CIF junto con tu dirección en la esquina superior izquierda de la factura tienes que editar el archivo invoice.addresses-tab.tpl que se encuentra en la ruta;

public_html/pdf/invoice.addresses-tab.tpl

Descarga este archivo y añade debajo de

{if isset($order_invoice)}{$order_invoice->shop_address}{/if}

la siguiente linea de código:

<br/>CIF: XXXXXXXXX

cambiando XXXXXXXXX por el CIF que quieras mostrar. Guarda los cambios y sube el archivo a la carpeta pdf.

De esta forma el CIF se mostrará debajo de tu dirección.
————————————————————
otra manera:
Preferencias -> Contacto y tiendas

Sitúate en esa opción del menú y en la parte central de la pantalla te aparecerán todos los datos de contacto de tu tienda.

Nombre, email, código postal, etc. El campo que a ti te interesa es Número de registro. Ahí puedes introducir tu CIF o NIF y automáticamente aparecerá al pie de página de tus facturas en PDF.

Impactos: 2

Insertar video en prestashop

prestashop

Cómo insertar Videos en Prestashop

<p><iframe width=”300″ height=”200″ style=”margin-left: auto; margin-right: auto;” src=”https://www.youtube-nocookie.com/embed/yoZU3H5-0ag?rel=0&controls=0” frameborder=”0″></iframe></p>

<iframe width=”300″ height=”200″ style=”margin-left: auto; margin-right: auto;” src=”https://www.youtube.com/embed/vOAXDSuvn4I” frameborder=”0″ allow=”autoplay; encrypted-media” allowfullscreen></iframe>

Impactos: 1