Skip to content

Instantly share code, notes, and snippets.

@yanker
Last active July 1, 2024 13:09
Show Gist options
  • Save yanker/7eaa4bfda90ef07ab5527f80e3058f5b to your computer and use it in GitHub Desktop.
Save yanker/7eaa4bfda90ef07ab5527f80e3058f5b to your computer and use it in GitHub Desktop.

Notes Prestashop v1.7.x

PosiblesErrores/Soluciones

Imágenes no se ven al cambiar de dominio

Debemos tener en cuenta la siguiente sql que nos realizará los cambios en la base de datos, además también deberemos hacer esos cambios en el htaccess.

UPDATE `ps_configuration` SET `value` = 'domain.com' WHERE (`name` = 'PS_SHOP_DOMAIN');
UPDATE `ps_configuration` SET `value` = 'domain.com' WHERE (`name` = 'PS_SHOP_DOMAIN_SSL');
UPDATE `ps_configuration` SET `value` = '1' WHERE (`name` = 'PS_SSL_ENABLED');
UPDATE `ps_configuration` SET `value` = '1' WHERE (`name` = 'PS_SSL_ENABLED_EVERYWHERE');
UPDATE `ps_shop_url` SET `domain` = 'domain.com',`domain_ssl` = 'domain.com',`physical_uri` = '/' WHERE (`id_shop_url` = '1');
  • Luego deberemos ir a CONFIGURAR >> TRAFICO&SEO >> Configuración de URLs >> Activar y Desactivar URL AMIGABLES
  • SI LO ANTERIOR NO FUNCIONA:
  • Luego deberemos regerenerar las imágenes, nos iremos en el admin de prestashop a DISEÑO >> AJUSTES DE IMAGENES y al final del todo daremos a la opción REGENERAR MINIATURAS.
  • Por último nos iremos a PARAMETROS AVANZADOS >> RENDIMIENTOS y borraremos la caché

Cambiar DNI y NIF

Para poder modificar ambos textos deberemos editar las traducciones del nucleo del tema, posteriormente deberemos buscar la palabra VAT para poder cambiar a NIF y la palabra identification number para cambiar a DNI/NIF/NIE

Añadir provincia en registro

PERSONALIZAR --> Internacional --> Ubicaciones Geográficas --> TAB: PAISES --> Editar y añadir lo siguiente

State:name

Enlace a los términos y condiciones de venta

En el paso final debemos modificar el enlace para que se pueda acceder a las condiciones generales de venta para ello deberemos modificar las traducciones del nucleo del front, buscar la palabra "Estoy deacuerdo con los" y sustituir: Esto

Estoy de acuerdo con los [términos del servicio] y los acepto sin reservas.

Por esto

Estoy de acuerdo con las <a href="/info/condiciones-generales-de-venta.html" target="_blank" style="text-decoration:underline;">Condiciones de Venta</a>

Además deberemos editar el fichero \themes\theme_ecolife\templates\checkout_partials\steps\payment.tpl en la linea 114 y editar esto:

<label class="js-terms" for="conditions_to_approve[{$condition_name}]">

Por esto

<label {*class="js-terms"*} for="conditions_to_approve[{$condition_name}]">

Error de plantilla YOURACCOUNT

Editar este archivo modules\posthemeoptions\elementor\widgets\PosHeaderAccountWidget.php y buscar este bloque

<a href="<?= $context->link->getPageLink('my-account', true) ?>" class="account-login" <?php if($logged): ?>data-toggle="dropdown"<?php endif; ?>>
<i class="<?= $settings['account_icon'] ?>"></i>
	<?php if($logged): ?>
		<span><?= $this->l('Your account') ?></span>
	<?php else: ?>
		<span><?= $this->l('Sign in') ?></span>
	<?php endif; ?>
</a>

y cambiar esto

<span><?= $this->l('Your account') ?></span>

por

<span>Tu Cuenta</span>

Cambiar color backend por defecto

El color por defecto es #25b9d7 tan solo deberemos buscar ese valor en los ficheros y sustituirlo por el valor que queramos. Ficheros

  • "FOLDER-ADMIN\themes\default\public\theme.css"
  • "FOLDER-ADMIN\themes\new-theme\public\theme.css"

Quitar referencias "Tienda Creada con .."

  1. Cambiar la traducciones del Front --> NUCLEO --> Buscar: Shop powered by PrestaShop ó "creada con" en el apartado theme

  2. Entrar en Parametros Avanzados --> SEO --> INDEX y quitar lo de creado por Prestashop

Change domain in prestashop 1.7

Si queremos cambiar el dominio en una tienda prestashop v1.7.x son varios los pasos que debemos hacer.

  1. Deberemos editar el archivo htaccess del raiz, sustituyendo el nombre de dominio por el nuevo nombre de dominio

  2. Deberemos editar la tabla ps_configuration y editar los siguiente parametros poniendo el nuevo dominio

    • PS_SHOP_DOMAIN
    • PS_SHOP_DOMAIN_SSL
  3. Por último, deberemos editar la tabla ps_shop_url y poner el nuevo dominio en los siguientes campos

    • domain
    • domain_ssl
  4. NOTAS: si queremos desactivar el SSL porque estemos en local, deberemos poner a 0 los siguientes valores de la tabla PS_CONFIGURATION

    • PS_SSL_ENABLED
    • PS_SSL_ENABLED_EVERYWHERE

Datos de Conexión

Estos datos se encuentran en la ruta

app/config/parameters.php

Cambiar contraseña de un empleado o usuario

  1. Denebom irnos al fichero app > config > parameters.php y copiar el el valo de cookie_key.
  2. Ejecutaremos este UPDATE recordando que al final del valor indicado en cookie_key pondremos nuestra nueva PASS, ejemplo:
    • UPDATE psoa_employee SET passwd=md5('ce8vrqacq7vlyi7fsq1sgl5kqqn5ts0bm1kh7wuruq1r45tunuevopassword') WHERE email="nuestro@email.com"

Update prestashop v1.7.x to v8

Para actualizar la tienda desde una versiñon 1.7 deberemos:

  1. Descargar el módulo 1-one-click sino lo tuvieramos instalado de base
  2. Una vez instalado deberemos ir al módulo y en el apartado Modo Experto deberemos cambiar el canal de actualización a Mayor Versión o (nueva versión).
  3. Una vez realizado esto deberemos darle al botón actualizar, y con un poco de suerte, la actualización será correcta.

Mod Login and Header Backend

Si necesitas modificar el TPL del Login para quitar o cambiar logos, puedes hacerlo en este TPL

  • /admin-folder/themes/default/template/controllers/login/content.tpl

  • Si queremos quitar lo referente a Prestashop deberemos comentar las siguientes lineas {**}

    • Linea 27 a 30
    • Linea 52
    • Linea 170 a 187
  • /admin-folder/themes/default/template/controllers/login/header.tpl

  • Si queremos quitar lo referente a Prestashop deberemos comentar las siguientes lineas {**}

    • Linea 42 quitar (PrestaShop™)
  • Si quieres quitar la imagen de prestashop en el header del backend debes editar la siguiente linea:

  • /admin-folder/themes/default/template/header.tpl

    • Línea 118 y 199 comentar
  • /admin-folder/themes/default/template/layout.tpl

    • Línea 21 y 22 comentar
  • /admin-folder/themes/new-theme/template/layout.tpl

    • Línea 21 y 22 comentar
  • /admin-folder/themes/default/template/controllers/dashboard/helpers/view/view.tpl

  • Si quieres quitar las noticias o otros módulos debes comentar las lineas;

    • Línea 99 al 103 comentar
    • Línea 107 al 117 comentar

Hide code if not superadmin

Si queremos ocultar algo al resto de usuarios y que solo el SUPERADMIN sea quien debe verlo, actualizaciones u otroas secciones, tan solo deberemos poner este código en nuestro TPL

{if (Context::getContext()->employee->isSuperAdmin())}
    CODE
{/if}

Show categories in menu

EXAMPLE: https://www.youtube.com/watch?v=WZAaMw54tNc

Ir a Gestor de Módulos >> Menu Principal y agregamos las categorías que queramos en dicho menú

How to update version prestashop correctly?

Cuando queremos hacer uso del módulo 1-onclick muchas veces da fallos.

Lo mejor para estar seguros, es hacer un copia de la base de datos y de los archivos pero creo que mejor es manual, porque sino se tarda mcuho, luego en el hhtpd personalizado quitar lo que hay (copiar antes en txt) y poner las siguientes variables:

php_admin_value[disable_functions] = 
php_admin_value[suhosin.simulation] = 1
php_admin_value[max_execution_time] = 3600
request_terminate_timeout = 3600s
php_admin_value[memory_limit] = 2048M
php_admin_value[default_socket_timeout] = 3600
php_admin_value[mysql.connect_timeout] = 3600
php_admin_value[opcache.enable] = 0
php_admin_value[max_input_vars] = 10000
php_admin_value[post_max_size] = 512M
php_admin_value[upload_max_filesize] = 512M

Una vez guardado (tarde en actualizar unos segundos) podremos proceder a actualizar con 1-click y una vez actualizado, podremos proceder a a restaurar las variables que había en CUSTOM2

Servidor CYBERNETICOS

Add Icon WhatsApp

Editar el footer del tpl del tema y añadir

<footer class="page-footer">
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
	<a href="https://api.whatsapp.com/send?phone=34618816662&text=Hola%21%20Quisiera%20m%C3%A1s%20informaci%C3%B3n%20sobre..." style="position:fixed;width:60px;height:60px;bottom:80px;right:40px;background-color:#25d366;color:#fff;border-radius:50px;text-align:center;font-size:30px;box-shadow:2px 2px 3px #999;z-index:100" target="_blank">
		<i class="fa fa-whatsapp" style="margin-top:16px"></i>
	</a>
</footer>

Edit menu Backend Prestashop

Si queremos modificar el menu del backend para ocultar cosas, cambiar nombres o gestionar que ve cada perfil, podemos hacer uso de este módulo gratuito para ello que nos creará en PARAMETROS AVANZADOS un nuevo menu llamado "menus"

https://mypresta.eu/modules/administration-tools/back-office-menu-manager.html

How Edit Template Login Backend

Para modificar la pantalla de login deberemos ir a la ruta path_admin/themes/default/template/controllers/login/ En el fichero header.tpl deberemos buscar la etiqueta

y sustituir por:

<div id="login" style="background-image: url('/img/bg-login.jpg'); background-size: cover; background-repeat: no-repeat;">

Donde deberemos indicar la ruta de la imagen que hemos guardado.

Para agregar un logotipo deberemos editar el content.tpl y añadir la siguiente linea dentro del div <div class="front front_login panel" {if isset($reset_token) && isset($id_employee)}style="display:none;"{/if}>

<div class="text-center"><img src="/img/logo-mia.png" alt="Mia Fernández - Tendencias -" height="80px" /></div>

Errors

Invalid $number parameter: "" cannot be interpreted as a number

Fix error when formatting null price A null value throw an error, formatPrice() can simply return a null or empty string. initially this is a fix for PrestaShop#27816 i think is the best place to fix this otherwise it's can be fixed in getCatalogProductList() src/Adapter/Product/AdminProductDataProvider.php

may be also fix for PrestaShop#23970 and other issue with error: Invalid $number parameter: "" cannot be interpreted as a number

añadir la siguiente linea el fichero \src\Core\Localization\Locale.php

if ( $number === null ) return null;

Parámetros de la Tienda

  • Configuración OK
  • Configuración de Pedidos OK
  • Contacto OK

CONFIGURACION DE PRODUCTOS

[x] Forzar la actualización de URL amigables [x] Activar nuevos productos de manera predeterminada

AJUSTES SOBRE CLIENTES

[x] Volver a mostrar el carrito al inicio de sesión

BUSCAR

[x] Fijarse si la indexación está activada

Parámetros Avanzados

RENDIMIENTO

SMARTY

  • Si estamos realizando cambios en nuestras plantillas deberemos marcar la opción de "Recompilar las plantillas si los archivos han sido modificados" en caso de que no lo dejaremos en "Nunca recompilar los archivos de las plantillas"

  • Cache --> SI

  • Sincornización multiservidor --> NO/SI La sincronización multiservidor permite que diferentes instancias de PrestaShop, alojadas en servidores separados, compartan información vital, como inventario de productos, información de clientes, pedidos, etc. Esto asegura que todas las instancias de la tienda tengan los mismos datos actualizados en tiempo real, lo que proporciona una experiencia consistente para los clientes y facilita la administración de la tienda para los propietarios. Esta función es especialmente útil en entornos de comercio electrónico donde la carga del servidor puede ser alta o donde se requiere alta disponibilidad para evitar tiempo de inactividad.

  • Tipo de caché --> File System

  • Borrar la caché --> "Borrar la cache siempre que algo se haya modificado"

CCC (Combinación, Compresión y Caché)

  • "Smart cache" para las hojas de estilo (CSS) --> SI
  • "Smart cache" para el código de JavaScript --> SI
  • Optimización de Apache --> SI

CACHE

  • Utilizar la caché --> SI (SI NO SE TIENE SSD)
  • APC Cache o Memcache --> Comprobar si está habilitado en el servidor, en caso de usarse SSD no es necesario.

DIRECCION DE CORREO ELECTRONICO

  • Aqui configuraremos le servidor de correo

BASE DE DATOS

Donde prodremos realizar y restaurar copias de seguridad de la base de datos

REGISTRO LOGS

Podremos ver los errores de la tienda online y además podremos marcar que nos mande un correo en caso de encontrar un error critico.

WEBSERVICE

Es para conectar prestachop con aplicaciones de terceros por ejemplo para poder sicronizar stock con otro programa de tienda.

Multitienda

EDITAR NOMBRE DE LAS TIENDAS

  • Parámetros de la Tienda >> SEO y URL >> Index y ahí cambiamos el nombre de la página.

EDITAR FACTURAS

Para editar las facturas en pdf deberemos irnos a la carpeta pdf/ dentro de la esta carpeta existen varios archivos llamados invoice.tpl, ese es el principal y el resto de asociados son:

  • invoice.addresses-tab.tpl
  • invoice.tax-tab.tpl
  • invoice.product-tab.tpl
  • invoice.summary-tab.tpl
  • invoice.total-tab.tpl

EDITAR EMAILS

Esta plantilla posee plantillas de email del tema, por tanto deberemos ir a la dirección siguiente para editar dichos emails. Tras esto podremos ver los cambios si nos vamos a Configuración de Pediods --> Estados.

/themes/theme_ecolife/mails/es
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment