Page Cache Ultimate

Estos usuarios falsos son creados por Page Cache Ultimate para anonimizar la caché (nuevo método). No debe borrarlos (se crearán de nuevo).

No habrá muchos de estos usuarios falsos, probablemente menos de 5, depende del número de grupos y de las diferencias de visualización entre ellos.

No están activos, por lo que no perturbarán sus estadísticas.

Si tienes un tema de Anvato, esto es lo que debes hacer para evitar que el carrito se abra cada vez que se actualice.

Copia el archivo /modules/an_theme/views/js/sidebarcart.js en tu tema para poder seguir actualizándolo sin perder las modificaciones, en /themes//modules/an_theme/views/js(crea carpetas si es necesario)

En este archivo, reemplaza la línea:

if (prestashop.page.page_name != 'cart' && prestashop.page.page_name != 'checkout') {

Por

if (prestashop.page.page_name != 'cart' && prestashop.page.page_name != 'checkout' && requestData.action!='refresh') {

A continuación, borra la caché de la página de Performances y la caché de tu navegador para que puedas probar.

Si su tema utiliza la etiqueta "widgetblock" como lo hace el tema de Warehouse, entonces necesita borrar la caché en la página de Performances después de habilitar el Page Cache para que la plantilla se compile de nuevo.

All our modules can run on LiteSpeed Web Server since it supports the Apache .htaccess file.

However, the HTML cache feature (Page Cache Ultimate) is not compatible with the LiteSpeed Cache Plugin since they are both working on the same layer of cache.

Which one should you choose?

LiteSpeed Cache is a generic cache which does not handle all different contexts of Prestashop. Which taxes are applied? Is there a flash sale comming up? Should I display a different content for this user because he belongs to a specific user group? Did this visitor accept cookies? etc.

Page Cache Ultimate has been created for Prestashop and it is only dedicated to this platform, it handles all different contexts and can also upgrade fast if a new Prestashop feature is out.

Si utiliza el módulo PageSpeed Apache desarrollado por Google (x-mod-pagespeed), debe desactivar la siguiente opción para que no anule las directivas de caché del navegador añadidas por Page Cache:

ModPagespeedModifyCachingHeaders off

No, es muy recomendable mantener la caché de Smarty activada. Esto acelerará las páginas que no tienen caché y también las páginas en las que la caché aún no se ha generado.

Para recuperar sus estilos sólo tiene que borrar el caché de "Page Cache Ultimate".

Para evitar este problema puede ir en "Modo avanzado", en la configuración de "Page Cache Ultimate", luego en "Clave de caché" habilitar "Insertar versión CSS y JS en clave de caché".

To avoid the cookie notice to appear 1 second, then disappear, you must override the javascript file of the iqitcookielaw module.

To do it, create a file with the following content:

$(document).ready(function () {
 if (getCookie('cookielaw_module') != 1) {
  $("#iqitcookielaw").addClass('iqitcookielaw-showed');
 }
 $("#iqitcookielaw-accept").click(function (event) {
  event.preventDefault();
  $("#iqitcookielaw").removeClass('iqitcookielaw-showed');
  setcook();
 });
});

function setcook() {
 var name = 'cookielaw_module';
 var value = '1';
 var today = new Date();
 var expire = new Date();
 expire.setTime(today.getTime() + 3600000 * 24 * 14);
 document.cookie = name + "=" + escape(value) + ";path=/;" + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
}

function getCookie(cname) {
 var name = cname + "=";
 var ca = document.cookie.split(';');
 for (var i = 0; i != ca.length; i++) {
  var c = ca[i];
  while (c.charAt(0) == ' ') c = c.substring(1);
  if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
 }
 return "";
}

And place it in the theme (or child theme if you have one): /themes/warehouse/modules/iqitcookielaw/views/js/front.js

Then clear the cache in the Performances page.

When the cache is created, the page is anonymized, that means it is displayed without any information about the visitor displaying the page.

Modules that display content relative to the current visitor can be marked as dynamic, that means the content will be refreshed (replaced) by a background request in the browser that will carry the context of the current visitor.

If you check the option "Display nothing in cache" then the module will not be called to display its content in this hook during the creation of the cache. However, the content will be displayed as other dynamic modules (with background request).

If the products list is reloaded each time you display a page with a products list then you can fix this by modifying the file /warehouse/modules/ps_shoppingcart/ps_shoppingcart.js as follow:

How to fix warehouse theme

Sustituir esta línea:

prestashop.emit('updateFacets', window.location.href);

Por:

if (event.reason && event.reason.linkAction != 'refresh') {
    prestashop.emit('updateFacets', window.location.href);
}

Actualice su módulo "Cookies - Ley de cookies GDPR (bloquear antes del consentimiento)" a la versión 1.5.6 como mínimo.

Actualice "Page Cache Ultimate" a la versión mínima 7.9.39 para una compatibilidad total con el módulo cookiesplus.

Para Prestashop 1.7

  1. Deshabilite ambos módulos (esto también funciona si aún no están instalados)
  2. En el archivo /modules/cookiesplus/override_17/classes/Hook.php, cambie el nombre de la función coreCallHook a coreCallHook_off y la función coreRenderWidget a coreRenderWidget_off (de hecho, Page Cache Ultimate ejecutará el procesamiento apropiado si el módulo cookiesplus está activado).
  3. Puedes reactivar (o instalar) los 2 módulos.

En la configuración del carrito de la compra, en la sección "Acción de añadir al carrito", desactive la opción "Abrir el carrito".

Creative Element - shopping cart options

Esto es normal, cuando la caché no está disponible la visualización es tan lenta como sin la caché.

Sólo debe vaciar la caché cuando sea necesario (modificación de CSS o Javascript, para las plantillas elija la opción "Recompilar archivos de plantilla si se han actualizado" en la página "Rendimiento").

Si la lista de selección de divisas ya no funciona, compruebe estas 2 opciones:

La opción "Ignorar URLs que coincidan con esta regex" debe incluir ".*SubmitCurrency=1.*", por ejemplo ".*[\?&]q=.*|.*SubmitCurrency=1.*"

La opción "Parámetros de URL ignorados" no debe incluir "submitcurrency,id_currency"

También puede desactivar la caché del navegador, porque si el visitante cambia la divisa después de ver varias páginas, si vuelve a esas páginas, se mostrará la divisa original.

No olvide borrar el módulo y la caché del navegador después de estos cambios.

Cuando modificas un producto, una categoría, una página de CMS, un precio, el stock, etc. la caché se actualiza automáticamente.

Cuando agrega, elimina o modifica un módulo, debe borrar el caché manualmente porque esto no se puede detectar automáticamente. Por ejemplo, cuando modificas el slider de la página de inicio.

Cuando modifica el CSS o una plantilla de su tema, debe borrar el caché manualmente porque esto no se puede detectar automáticamente.

Cuando sincronizas o modificas tu catálogo, tus precios y/o tus stocks usando una aplicación externa, probablemente necesitarás borrar el caché manualmente o con un script porque los ganchos de Prestashop no se ejecutan.

Para borrar la caché de páginas específicas, puedes usar las URL CRON/API que encontrarás en el menú "API" en la configuración de Page Cache Ultimate. También puede usar la tabla de estadísticas para filtrar las páginas que desea actualizar, luego haga clic en el botón "Borrar caché (solo archivos)".

También tenga en cuenta que la memoria caché del navegador no se puede borrar, por eso está limitada en el tiempo.

Esto ocurre porque el enlace de inicio de sesión se carga dinámicamente y por lo tanto el parámetro "back" que hace referencia a la URL actual se establece con la URL de los módulos dinámicos.

Para evitar este problema, vaya a la configuración de Page Cache Ultimate, en el menú "Módulos dinámicos y widgets", en la parte inferior añada el siguiente código javascript en el campo "Javascript a ejecutar":

if (!prestashop_pc.customer.is_logged) {
$('header a').each(function() {
$(this).attr('href').replace('ajax%3Dtrue', '').replace('page_cache_dynamics_mods%3D=1', '')
});
}

Borra la caché y debería solucionarse el problema.

estos directorios se crean cuando la caché no se puede borrar completamente en PHP porque es demasiado larga y fallará con un error de tiempo de espera. Así que en lugar de borrar el directorio de caché, simplemente se renombra con este sufijo.

Puedes borrar todos estos directorios con el sufijo please_delete_me pero te recomiendo hacerlo directamente en la consola del servidor porque será demasiado largo hacerlo por FTP.

Estos hooks son para desarrolladores de módulos, contacta con el soporte si necesitas ayuda.

Aquí hay un ejemplo de cómo implementar las funciones de los hooks:

    /**
     * Called each time a page is displayed so this must remain very fast!
     * @param $params Empty array
     * @return mixed The datas you will need in hookActionJPrestaRestoreSpecificCacheKeyInfos()
     */
    public function hookActionJPrestaGetSpecificCacheKeyInfos($params) {
        // Let's say that the cookie 'test' modify the content of the page, we indicates to the cache manager
        // to generate a cache key that depends on the value of this cookie
        return $_COOKIE['test'];
    }

    /**
     * This function is called by Page Cache Ultimate when the cache-warmer service want to generate the cache of a
     * specific context. In this case we must restore the context so the content is the good one.
     * @param $params $params['specifics'] contains the datas returned by the hook 'ActionJPrestaGetSpecificCacheKeyInfos'
     */
    public function hookActionJPrestaRestoreSpecificCacheKeyInfos($params)
    {
        // Here we will just modify the $_COOKIE value, we don't need to send the cookie to the browser with function
        // setcookie, we just want the remaining PHP code to execute to get the correct value of the cookie.
        $_COOKIE['test'] = $params['specifics'];
    }

El módulo Elementos Creativos le permite editar partes de su tienda con enlaces/botones que se muestran directamente en su tienda cuando está conectado a su admin Prestashop. Para preservar esta funcionalidad, la caché está desactivada con el motivo "editing-with-creative-element". Tenga la seguridad, sus visitantes se benefician de la caché, es sólo los usuarios conectados a la administración que no tienen una caché. Para obtener la caché, basta con mostrar la tienda en una pestaña privada de su navegador.

Lo primero es asegurarte de que tienes la última versión del módulo porque lo estoy mejorando constantemente para reducir el consumo de memoria, tanto en la base de datos como en el disco duro.

Lo segundo es ejecutar una purga periódicamente (cada 2 o 3 días). Una purga elimina de la caché las páginas que ya no existen o cuyo contexto ya no existe. Esto no afecta al rendimiento de la caché. Puede realizar una purga manualmente mediante un botón situado bajo la tabla de estadísticas de la caché, o programando una tarea CRON con la URL que aparece en el menú "API (URL CRON)" de la configuración del módulo.

Finalmente, si hay directorios en /var/cache/pagecache que terminan en "please_delete_me" entonces puede borrarlos. Se trata de una caché antigua que PHP no ha podido borrar por completo (demasiado larga).

Al intentar instalar Page Cache Ultimate aparece el mensaje de error "Este archivo no parece ser un archivo .zip de módulo válido"? Es normal, ya que el archivo zip contiene varios archivos zip que permiten instalar este módulo en función de la versión de Prestashop: PS-1.5/1.6, PS1.7/8 y Thirtybees.

Por lo tanto, debe extraer e instalar el archivo zip que se adapte a su tienda.

La caché estática sólo puede utilizarse si se conoce el contexto del visitante. El contexto contiene una serie de informaciones que no pueden deducirse únicamente a partir de la URL: moneda, grupos de usuarios, elección de cookies, impuestos que deben aplicarse, etc.

Este contexto se almacena en una cookie llamada "jpresta_cache_context" que se añade cuando el usuario visualiza una 1ª página. Una vez que la cookie está presente, se puede utilizar la caché estática.

Vaya a la configuración del módulo, en el menú "Sistema de caché" asegúrese de que "Prestashop Static!" está seleccionado. Si ya está marcada, seleccione "Sistema de archivos estándar" y guardar, a continuación, seleccione "Prestashop estática" y guardar de nuevo. Esto reactivará la caché estática.

El mensaje "precios específicos para clientes" significa que está conectado a un usuario que tiene reglas de precios específicas, por lo que no tiene sentido crear una caché, ya que sólo él podrá beneficiarse de ellas. Es preferible crear grupos de usuarios y crear reglas de precios para estos grupos.

Quizás estás simulando una pantalla de teléfono utilizando la consola de tu navegador, lo que explica por qué estás viendo esta vista móvil a pesar de tener una pantalla de escritorio.

Esto ocurre porque una cookie llamada 'jpresta_cache_context' guarda el contexto del visitante en el navegador. Este contexto incluye información sobre si la vista es 'móvil' o 'de escritorio'. Por lo tanto, si inicialmente ves páginas en modo de escritorio y luego cambias a modo móvil, la caché seguirá entregando la vista de escritorio.

Si deseas probar la vista móvil utilizando la consola de tu navegador, asegúrate de eliminar la cookie 'jpresta_cache_context' antes.