Some of our questions and answers

This is a short list of some questions and answers. Type one or more keywords above to find what your are looking for.

Fatturazione

Sono un freelance in Francia e quindi, essendo un'impresa molto piccola, non pago l'IVA (articolo 293 B della legge fiscale francese). Se controllate il prezzo vedrete che non c'è IVA o tasse incluse. Ecco perché non ho nessun codice fiscale o numero di partita IVA.

Page Cache Ultimate JPresta Speed Pack

Questi utenti falsi sono creati da Page Cache Ultimate per anonimizzare la cache (nuovo metodo). Non bisogna cancellarli (verranno creati di nuovo).

Non ci saranno molti utenti falsi, probabilmente meno di 5, dipende dal numero di gruppi e dalle differenze di visualizzazione tra di essi.

Non sono attivi, quindi non disturbano le statistiche.

Page Cache Ultimate JPresta Speed Pack

Se avete un tema Anvato, ecco cosa fare per evitare che il carrello si apra ogni volta che viene aggiornato.

Copiare il file /modules/an_theme/views/js/sidebarcart.js nel proprio tema, in modo da poter continuare ad aggiornarlo senza perdere le modifiche, in /themes//modules/an_theme/views/js(creare cartelle se necessario)

In questo file, sostituire il link:

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

Da

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

Quindi cancellare la cache della pagina Performances e la cache del browser per poter effettuare il test.

Page Cache Ultimate JPresta Speed Pack

Se il tema utilizza il tag "widgetblock" come il tema Warehouse, è necessario cancellare la cache nella pagina delle prestazioni dopo aver attivato la cache della pagina, in modo che il modello venga compilato di nuovo.

Page Cache Ultimate

Tutti i nostri moduli possono funzionare su LiteSpeed Web Server, poiché supporta il file .htaccess di Apache.

Tuttavia, la funzione di cache HTML (Page Cache Ultimate) non è compatibile con il LiteSpeed Cache Plugin, poiché entrambi lavorano sullo stesso livello di cache.

Quale scegliere?

LiteSpeed Cache è una cache generica che non gestisce tutti i diversi contesti di Prestashop. Quali tasse vengono applicate? C'è una vendita flash in arrivo? Devo visualizzare un contenuto diverso per questo utente perché appartiene a un gruppo specifico di utenti? Questo visitatore ha accettato i cookie?

Page Cache Ultimate è stato creato per Prestashop ed è dedicato solo a questa piattaforma, gestisce tutti i diversi contesti e può anche aggiornarsi rapidamente se esce una nuova funzionalità di Prestashop.

WebP JPresta Speed Pack

If you are using Nginx, then make sure your configuration is as follow:

Nginx configuration for Speed Pack module

"Proxy mode" must be ON, other options must be OFF.

Page Cache Ultimate JPresta Speed Pack

Se si utilizza il modulo PageSpeed Apache sviluppato da Google (x-mod-pagespeed), è necessario disabilitare la seguente opzione, in modo da non sovrascrivere le direttive di cache del browser aggiunte da Page Cache:

ModPagespeedModifyCachingHeaders off
Fatturazione JPresta Cache Warmer

La fattura si trova nel proprio account JPresta nel menu "Cronologia e dettagli dell'ordine".

Se non la vedete, assicuratevi di aver registrato un indirizzo nel vostro account in modo da poter generare la fattura.

Page Cache Ultimate JPresta Speed Pack

No, è altamente raccomandato mantenere la cache di Smarty abilitata. Questo velocizzerà le pagine che non sono nella cache e anche le pagine in cui la cache non è ancora generata.

Page Cache Ultimate JPresta Speed Pack

Per recuperare gli stili è sufficiente cancellare la cache di "Page Cache Ultimate".

Per evitare questo problema si può andare in "Modalità avanzata", nella configurazione di "Page Cache Ultimate", quindi in "Chiave di cache" attivare "Inserisci versione CSS e JS nella chiave di cache".

Page Cache Ultimate JPresta Speed Pack

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.

Page Cache Ultimate JPresta Speed Pack

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).

Page Cache Ultimate JPresta Speed Pack

Se l'elenco dei prodotti viene ricaricato ogni volta che si visualizza una pagina con un elenco di prodotti, si può risolvere il problema modificando il file /warehouse/modules/ps_shoppingcart/ps_shoppingcart.js come segue:

How to fix warehouse theme

Sostituire questa linea:

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

Per:

if (event.reason && event.reason.linkAction != 'refresh') {
    prestashop.emit('updateFacets', window.location.href);
}
Page Cache Ultimate JPresta Speed Pack

Aggiornare Page Cache Ultimate alla versione 7.9.39 almeno per una piena compatibilità con il modulo cookiesplus.

WebP

Se dopo l'installazione del modulo non vengono più visualizzate alcune immagini del negozio, come il logo, le immagini delle pagine CMS, le immagini del back office, ecc. Questo file blocca qualsiasi script PHP, anche se si tratta di un reindirizzamento (lo script non si trova realmente in questa directory).

Per correggere questo problema è necessario rinominare il file /img/.htaccess in /img/.htaccess.off

Le modifiche apportate a un modulo, al tema, ai CSS o ai Javascript non possono essere rilevate automaticamente, quindi è necessario cancellare la cache per vedere le modifiche.

Ci sono 3 modi per svuotare la cache

  1. Nella configurazione del modulo "Page Cache Ultimate", andare nel menu "Statistiche". È possibile filtrare le pagine interessate dalle modifiche. Fare quindi clic sul pulsante "Cancella cache" in fondo alla tabella.
  2. Cliccare sul pulsante "Cancella cache" nella configurazione del modulo "Page Cache Ultimate" in alto e a destra dello schermo, in modo da cancellare la cache di tutte le pagine.
  3. Utilizzare l'URL che si trova nel menu "API" nella configurazione del modulo "Page Cache Ultimate"
Page Cache Ultimate JPresta Speed Pack

Nella configurazione del carrello, nella sezione "Azione Aggiungi al carrello", disattivare l'opzione "Apri il carrello".

Creative Element - shopping cart options

JPresta Origin

Se si utilizza il modulo "SuperTinyMCE PRO" sviluppato da Liewebs, è necessario aggiungere un'eccezione nella configurazione di questo modulo per il controller "JprestaThemeConfiguratorLive". Assicurarsi inoltre di avere almeno la versione 1.2.2 del modulo "JPresta - Theme Configurator".

WebP JPresta Speed Pack

Sì, tutte le immagini del vostro negozio saranno automaticamente convertite nel formato WEBP. Anche le immagini del CMS o di altri moduli come il blog.

Page Cache Ultimate JPresta Speed Pack

Questo è normale, quando la cache non è disponibile la visualizzazione è lenta come senza cache.

È necessario svuotare la cache solo quando è necessario (modifica di CSS o Javascript, per i modelli scegliere l'opzione "Ricompila i file dei modelli se sono stati aggiornati" nella pagina "Prestazioni").

WebP JPresta Speed Pack

Sì, avete ancora bisogno di un modulo WEBP per Prestashop! Perché la funzione ha un bug in PS 8.0. Dovrebbe essere risolto in PS 8.1, ma lo verificherò non appena sarà rilasciato perché non so se le immagini JPG saranno visualizzate dai browser che non possono leggere il formato WEBP come Safari (iPhone).

WebP JPresta Speed Pack

È stato molto difficile trovare una configurazione che funzionasse bene. Non sono esperto nella configurazione di nginx, quindi immagino che ci sia un altro modo per farlo. Se volete migliorare questa configurazione contattatemi, sarò felice di aggiornare questo post per aiutare altre persone!

Ecco la mia soluzione (siate gentili).

Prima della sezione "server", inserire questo codice:

map $http_accept $webp_enable {
	default 0;
	"~*webp" 1;
}

Ci dirà se il browser del visitatore può leggere le immagini WEBP.

Probabilmente avete più righe di "rewrite" per tutte le immagini, inserite il seguente codice subito prima:

# Jpresta Speedpack
if ($webp_enable = 1) {
	# Rewrite images URL using a specific extension ".webp_compressor" so we can have specific rules to compress the image/svg
	# if the webp file is not already created.
	rewrite "^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/(.*)\.jpg$" /img/c/$1$2.webp_compressor last;
	rewrite "^/c/([_a-zA-Z-]+)/(.*)\.jpg$" /img/c/$1.webp_compressor last;
	rewrite "^/([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$1$2.webp_compressor last;
	rewrite "^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$1$2$3.webp_compressor last;
	rewrite "^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$3/$1$2$3$4.webp_compressor last;
	rewrite "^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$3/$4/$1$2$3$4$5.webp_compressor last;
	rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.webp_compressor last;
	rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.webp_compressor last;
	rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.webp_compressor last;
	rewrite "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/(\P{M}\p{M}*)*\.jpg$" /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.webp_compressor last;  
	# all other images
	rewrite "^(.+)\.jpg$" $1.webp_compressor last;   
}

location ~* ^(.+)\.webp_compressor$ {
	# Indicates to proxies that the file content/format depends (Vary) on the "Accept" header
	add_header Vary Accept;

	# Indicates to proxies that the file can be cached for the max duration
	add_header Pragma public;
	add_header Cache-Control "public, must-revalidate, proxy-revalidate";
	expires max;

	# Indicates to nginx not to log access
	access_log off;
	log_not_found off;

	# Try to serve the WEBP file directly or compress the image
	set $url_webp_compressor "/modules/jprestaspeedpack/controllers/front/webp.php?src=$1.jpg";
	try_files $1.webp $url_webp_compressor;
}

ATTENZIONE: se si utilizza il modulo di compressione WEBP autonomo, è necessario sostituire 'jprestaspeedpack' con 'jprestawebp'.

Contattatemi se avete bisogno di aiuto o se potete migliorare lo script!

Page Cache Ultimate JPresta Speed Pack

Se l'elenco di selezione delle valute non funziona più, controllare queste due opzioni:

L'opzione "Ignora gli URL che corrispondono a questa regex" deve includere ".*SubmitCurrency=1.*", ad esempio ".*[\?&]q=.*|.*SubmitCurrency=1.*"

L'opzione "Parametri URL ignorati" non deve includere "submitcurrency,id_currency"

Si consiglia anche di disabilitare la cache del browser, perché se il visitatore cambia valuta dopo aver visualizzato diverse pagine, se torna a quelle pagine, verrà visualizzata la valuta originale.

Non dimenticare di cancellare il modulo e la cache del browser dopo queste modifiche.

JPresta Cache Warmer
Unable to get cache-warmer informations from the shop (maybe the module is disabled or uninstalled): Read timed out

Se si vede questo errore nel log del cache-wamer, significa che c'è un timeout quando il cache-warmer recupera le pagine per riscaldarsi. Per evitare questo timeout, nella configurazione di Page Cache Ultimate, fare clic su "Modalità avanzata", quindi nel menu su "Opzioni" e impostare un valore inferiore per "Tempo massimo di esecuzione in secondi".

WebP JPresta Speed Pack

sì, i browser che non possono leggere il formato WEBP otterranno il formato originale (JPG/PNG).

Page Cache Ultimate JPresta Speed Pack

Quando modifichi un prodotto, una categoria, una pagina CMS, un prezzo, lo stock, ecc. la cache si aggiorna automaticamente.

Quando aggiungi, elimini o modifichi un modulo, devi svuotare la cache manualmente perché questo non può essere rilevato automaticamente. Ad esempio, quando modifichi lo slider della home page.

Quando modifichi il CSS o un modello del tuo tema, devi svuotare la cache manualmente perché questo non può essere rilevato automaticamente.

Quando sincronizzi o modifichi il tuo catalogo, i tuoi prezzi e/o le tue scorte utilizzando un'applicazione esterna, probabilmente dovrai svuotare la cache manualmente o con uno script perché gli hook di Prestashop non vengono eseguiti.

Per cancellare la cache di pagine specifiche, puoi utilizzare gli URL CRON/API che troverai nel menu "API" nella configurazione di Page Cache Ultimate. Puoi anche utilizzare la tabella delle statistiche per filtrare le pagine che desideri aggiornare, quindi fare clic sul pulsante "Svuota cache (solo file)".

Tieni inoltre presente che la cache del browser non può essere cancellata, per questo è limitata nel tempo.

Page Cache Ultimate JPresta Speed Pack

Questo accade perché il link di accesso viene caricato dinamicamente e quindi il parametro "back" che rimanda all'URL corrente viene impostato con l'URL dei moduli dinamici.

Per evitare questo problema, andate nella configurazione di Page Cache Ultimate, nel menu "Moduli dinamici e widget", in fondo aggiungete il seguente codice javascript al campo "Javascript da eseguire":

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

Cancellare la cache dovrebbe risolvere il problema.

Page Cache Ultimate JPresta Speed Pack

queste directory vengono create quando la cache non può essere cancellata completamente in PHP perché è troppo lunga e fallisce con un errore di timed out. Quindi, invece di cancellare la cartella della cache, viene semplicemente rinominata con questo suffisso.

È possibile cancellare tutte queste cartelle con il suffisso please_delete_me, ma si consiglia di farlo direttamente nella console del server, perché sarebbe troppo lungo farlo via FTP.

Page Cache Ultimate JPresta Speed Pack

Questi ganci sono destinati agli sviluppatori di moduli; se avete bisogno di aiuto, contattate il supporto.

Ecco un esempio di come implementare le funzioni dei ganci:

    /**
     * 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'];
    }

JPresta Cache Warmer

La durata dei warmup dipende da 3 fattori:

  • Il numero di pagine da generare: i primi warmup contengono generalmente molte pagine, il che è normale, e questo numero diminuirà con il progredire dei warmup
  • Il numero massimo di bot che avete definito: per impostazione predefinita è 30, ma potete ridurlo a 5 bot per alleggerire il carico del server, ma questo ovviamente allungherà il tempo di ogni warmup
  • Il TTFB delle pagine senza cache: se il tempo di risposta del server è lungo senza la cache (> 3s), potrebbe essere necessario analizzare la lentezza di Prestashop
JPresta Cache Warmer

I bot Cache-Warmer sono probabilmente considerati SPAM dal vostro provider di hosting. Per farlo funzionare, è necessario indicare nelle impostazioni del proprio provider di hosting che l'user-agent "JPresta-Cache-Warmer" è consentito.

JPresta Cache Warmer

Rispetto al numero di prodotti e categorie che avete, non pensavate di avere così tante pagine da generare, ed è normale!

Il cache-warmer genererà le pagine del vostro negozio Prestashop in contesti diversi. Ad esempio, avrete un contesto per i telefoni cellulari, un altro per i computer, uno per i visitatori e un altro per i clienti connessi, ecc.

Quindi il numero di pagine viene moltiplicato per il numero di contesti.

JPresta Cache Warmer

Se l'abbonamento comprende un solo riscaldamento, è possibile specificare l'ora del riscaldamento.

Se il pacchetto di abbonamento comprende diversi warmup, è possibile specificare l'ora di inizio del primo warmup e i warmup successivi verranno eseguiti a intervalli regolari.

JPresta Cache Warmer

JPresta-Cache-Warmer utilizza i server Amazon (AWS) per garantire un servizio stabile ed efficiente indipendentemente dal numero di abbonati.

Se desideri che i robot di riscaldamento della cache non vengano banditi dal tuo provider di hosting, devi autorizzare le richieste dai seguenti IPS: 18.119.72.109 e 18.189.172.189

JPresta Cache Warmer

Quando si utilizzano le statistiche native di Prestashop, per evitare che il cache-warmer venga incluso nelle statistiche è sufficiente aggiungere questo override in /override/classes/Connection.php:

class Connection extends ConnectionCore
{
public static function setNewConnection($cookie)
{
if (isset($_SERVER['HTTP_USER_AGENT'])
&& preg_match('/JPresta-Cache-Warmer/i', $_SERVER['HTTP_USER_AGENT'])) {
// Questo è il cache-warmer: non registrare la connessione
return false;
}
return parent::setNewConnection($cookie);
}
}

Page Cache Ultimate JPresta Speed Pack

Il modulo Creative Elements consente di modificare parti del negozio con link/bottoni visualizzati direttamente sul negozio quando si è connessi all'amministrazione di Prestashop. Per preservare questa funzionalità, la cache viene disattivata con la motivazione "editing-with-creative-element". I visitatori beneficiano della cache, ma sono solo gli utenti collegati all'amministratore a non averla. Per ottenere la cache, è sufficiente visualizzare il negozio in una scheda privata del browser.

Page Cache Ultimate JPresta Speed Pack

La prima cosa da fare è assicurarsi di avere l'ultima versione del modulo, perché lo sto costantemente migliorando per ridurre il consumo di memoria, sia sul database che sul disco rigido.

La seconda cosa è eseguire periodicamente un purge (ogni 2 o 3 giorni). Un purge rimuove dalla cache le pagine che non esistono più o il cui contesto non esiste più. Questo non influisce sulle prestazioni della cache. È possibile eseguire la pulizia manualmente tramite un pulsante nella tabella delle statistiche della cache, oppure programmando un task CRON con l'URL visualizzato nel menu "API (URL CRON)" nella configurazione del modulo.

Infine, se ci sono cartelle in /var/cache/pagecache che terminano con "please_delete_me", è possibile cancellarle. Si tratta di una vecchia cache che PHP non è riuscito a cancellare completamente (troppo lunga).

Page Cache Ultimate

Quando si tenta di installare Page Cache Ultimate si ottiene il messaggio di errore "Questo file non sembra essere un file .zip del modulo valido"? È normale, poiché il file zip contiene diversi file zip che consentono di installare questo modulo a seconda della versione di Prestashop: PS-1.5/1.6, PS1.7/8 e Thirtybees.

È quindi necessario estrarre e installare il file zip più adatto al proprio negozio.

WebP JPresta Speed Pack

Il modulo non chiama l'hook che consente l'aggiornamento.

È necessario modificare la funzione imageResize() nel file /modules/prestablog/prestablog.php:

Sostituire questo

         return ImageManager::write('jpg', $dest_image, $file_after);

Con questo

         $ret = ImageManager::write('jpg', $dest_image, $file_after);

Hook::exec('actionOnImageResizeAfter', ['dst_file' => $file_after, 'file_type' => 'jpg']);

return $ret;

in seguito le immagini saranno aggiornate.

Page Cache Ultimate JPresta Speed Pack

La cache statica può essere utilizzata solo se si conosce il contesto del visitatore. Il contesto contiene una serie di informazioni che non possono essere dedotte dal solo URL: valuta, gruppi di utenti, scelta dei cookie, tasse da applicare, ecc.

Questo contesto è memorizzato in un cookie chiamato "jpresta_cache_context" che viene aggiunto quando l'utente visualizza una prima pagina. Una volta che il cookie è presente, è possibile utilizzare la cache statica.

Page Cache Ultimate JPresta Speed Pack

Andare alla configurazione del modulo, nel menu "Sistema di cache" assicurarsi che "Prestashop Static!" sia selezionato. Se è già selezionata, selezionare "File system standard" e salvare, quindi selezionare "Prestashop Static!" e salvare nuovamente. In questo modo si riattiva la cache statica.

Page Cache Ultimate JPresta Speed Pack

Il messaggio "prezzi specifici per il cliente" significa che si è collegati a un utente che ha regole di prezzo specifiche, quindi non ha senso creare una cache perché solo lui potrà usufruirne. È preferibile creare gruppi di utenti e creare regole di prezzo per questi gruppi.