Categorías
Prestashop Programación

Como optimizar la base de datos de prestashop

Hay unas tablas que en prestashop no paran de crecer y se pueden vaciar de datos, sin afectar al funcionamiento, son estadísticas de conexiones.

  • ps_connections
  • ps_connections_source
  • ps_connections_page
  • ps_guest

NOTA IMPORTANTE: Hacer una copia de seguridad de la base de datos antes de realizar la operación, mas vale prevenir que lamentar.

TRUNCATE TABLE ps_connections;
TRUNCATE TABLE ps_connections_source;
TRUNCATE TABLE ps_connections_page;
TRUNCATE TABLE ps_guest;

Para las paginas no encontradas o 404

TRUNCATE TABLE ps_pagenotfound;
Categorías
Prestashop

¿Cómo eliminar los logs de prestashop?

En la base de datos ejecutar

// Para eliminar los logs
TRUNCATE TABLE ps_log;
// Para eliminar las estadisticas
TRUNCATE TABLE ps_statssearch;
Categorías
Prestashop

¿Cómo detectar si es un móvil en Prestashop con .tpl?

Descubre cómo utilizar las clases de Prestashop para detectar el dispositivo utilizado y poder mostrar o no textos, imágenes, funciones adicionales de forma correcta y eficaz

Además de utilizar un tema responsive, que se adapta según el tamaño del dispositivo que utilice el usuario, puede ser útil para detectar si el dispositivo es un smartphone, una tablet o un ordenador.

En un tema receptivo, generalmente, usamos la técnica de no mostrar ciertas partes de la página en algunos dispositivos simplemente escondiéndolas a través de algunas reglas de hojas de estilo (css): esta solución no aligera el peso de las páginas porque el código oculto será de todos modos presente en la página y tan cargado por el navegador.

En cambio, mediante la detección del dispositivo utilizado, es posible que se muestren o no textos, imágenes, funciones adicionales, etc. de forma correcta y eficaz.

Prestashop 1.7.x y Prestashop 1.6.1.x

Estas versiones de Prestashop ya utilizan una clase para detectar el dispositivo utilizado (/classes/Context.php), gracias a la cual podemos consultar directamente en los archivos .tpl de nuestro tema.

Detectar un teléfono inteligente

{if Context::getContext()->isMobile() && !Context::getContext()->isTablet()}
  tu contenido
{/if}

o

{if Context::getContext()->getDevice() == 4}
  tu contenido
{/if}

Detectar una tableta

{if Context::getContext()->isTablet()}
  tu contenido
{/if}

o

{if Context::getContext()->getDevice() == 2}
  tu contenido
{/if}

Detectar una computadora

{if !Context::getContext()->isMobile() && !Context::getContext()->isTablet()}
  tu contenido
{/if}

o

{if Context::getContext()->getDevice() == 1}
  tu contenido
{/if}

Prestashop 1.6

Detectar un dispositivo móvil

{if isset($mobile_device) && $mobile_device}
  tu contenido
{/if}

Categorías
Prestashop

Como se quita del producto «Impuestos incluidos» de Prestashop

En el panel de Gestión de Prestashop en Internacional > Ubicaciones geográficas > Países > Busca el país, seleccionas modificar y luego desmarcas la opción «Mostrar la etiqueta de impuestos (por ejemplo, «Impuestos incl.»)«

Categorías
Prestashop

Descargar PsCleaner para Prestashop 1.7

PrestaShop PsCleaner le ayuda a eliminar su catálogo, pedidos y datos de clientes de una sola vez.

Muy útil recién instalado el prestashop, ya que borrada todos los datos de demo incluidos en la instalación por defecto.

Este módulo no es compatible con multitienda, significa que su configuración se aplica a todas las tiendas.

Actualizado el 11 de Junio de 2020

Categorías
Prestashop

Como insertar style en archivos tpl de prestashop

Para usar estilos en archivos tpl, tiene que englobarlo con estas etiquetas {literal} {/ literal} estas etiquetas son necesarias porque el código de estilos css usa corchetes, por lo que el compilador inteligente trata estos corchetes como una sintaxis inteligente.

{literal}
<style>
.swiper-pagination-progressbar{background:#000}
</style>
{/literal}
Categorías
Prestashop

Como eliminar la categoría de inicio de todos los productos

En phpMyAdmin o en tu gestor de SQL, ejecutar la siguiente SQL

DELETE FROM 'ps_category_product' WHERE 'id_category' = 2;

Cambie ps_ por el prefijo de su base de datos, si es necesario.

Categorías
Prestashop

Crear un usuario en PrestaShop manualmente con SQL

No funciona en la versión 1.7.6.7

INSERT INTO `ps_employee` (`id_employee`, `id_profile`, `id_lang`, `lastname`, `firstname`, `email`, `passwd`, `last_passwd_gen`, `stats_date_from`, `stats_date_to`, `stats_compare_from`, `stats_compare_to`, `stats_compare_option`, `preselect_date_range`, `bo_color`, `bo_theme`, `bo_css`, `default_tab`, `bo_width`, `bo_menu`, `active`, `optin`, `id_last_order`, `id_last_customer_message`, `id_last_customer`, `last_connection_date`, `reset_password_token`, `reset_password_validity`) 
VALUES ('2', '1', '1', 'Apellidos', 'Nombre', 'correo@correo.com', 'ef6ba3bc958176483aa342396e580ff5', '2020-09-23 12:03:21', '2020-08-23', '2020-09-23', '0000-00-00', '0000-00-00', '1', NULL, NULL, 'default', 'theme.css', '1', '0', '1', '1', '1', '0', '0', '0', NULL, NULL, '0000-00-00 00:00:00');

Vamos a ver los valores importantes

Hay que modificar el primer elemento que es un 2 por el siguiente id de la tabla, cambiamos el correo y el siguiente campo que es la contraseña en MD5 (entras en https://md5online.es/cifrar-md5 escribes la contraseña y descifrar el resto lo dejamos igual

INSERT INTO `ps_employee_shop` (`id_employee`, `id_shop`)
VALUES ('2', '1');

En la siguiente consulta hay que cambiar el primer 2, por el numero que hemos cambiado anteriormente