Errori XML in PrestaShop: sistema le liste dei moduli in 5 minuti
Dopo l'accesso al pannello di amministrazione di PrestaShop 1.6 vedi un muro di messaggi rossi come nell'immagine qui sotto? Tranquillo: il negozio funziona… Dopo l'accesso al pannello di amministrazione di PrestaShop 1.6 vedi un muro di messaggi rossi con frasi come quelle nell'immagine qui sotto?
Tranquillo: il negozio funziona normalmente per i clienti e il problema sta in un meccanismo rotto di recupero dei dati dall'API esterna di PrestaShop. In questo articolo spieghiamo da dove nascono questi errori e come eliminarli definitivamente in due passaggi via FTP.
Tranquillo: il negozio funziona normalmente per i clienti e il problema sta in un meccanismo rotto di recupero dei dati dall'API esterna di PrestaShop. In questo articolo spieghiamo da dove nascono questi errori e come eliminarli definitivamente in due passaggi via FTP.
Cosa sono i file country_module_list.xml e must_have_modules_list.xml?
PrestaShop 1.6 e 1.7 dispone di un meccanismo integrato che comunica regolarmente con il server esterno api.addons.prestashop.com. Lo scopo di questa connessione è scaricare l'elenco aggiornato dei moduli consigliati in base al paese del negozio e l'elenco dei moduli contrassegnati come «indispensabili» (must-have). I dati scaricati vengono salvati localmente nella cartella/config/xml/ in due file:
- default_country_modules_list.xml – l'elenco dei moduli consigliati per un dato paese,
- must_have_modules_list.xml – l'elenco dei moduli ritenuti da PrestaShop fondamentali per ogni negozio.
Perché in PrestaShop 1.6 compaiono errori XML?
Gli errori non derivano da un problema del negozio stesso né del database. La loro vera causa è semplice: PrestaShop cerca di scaricare un file XML da un server esterno, ma invece di un XML valido riceve una pagina HTML – più spesso una pagina di errore 404 o 503, oppure un reindirizzamento. Succede perché l'API di PrestaShop per la versione 1.6 è da tempo instabile o non disponibile – questa versione non è più supportata ufficialmente dal produttore. Il parser XML di PrestaShop cerca poi di elaborare questo HTML come XML, il che si conclude con una valanga di messaggi di errore di sintassi:- Opening and ending tag mismatch – i tag HTML come
<head>,<p>,<link>non sono XML valido, - EntityRef: expecting ';' – i caratteri speciali in HTML (ad es.
&negli attributi) mandano in errore il parser XML, - Specification mandates value for attribute async – gli attributi booleani di HTML5 come
asyncoselectednon hanno un valore, cosa inammissibile in XML, - Premature end of data – il parser XML ha incontrato la fine di un documento inatteso.
Come correggere gli errori XML in PrestaShop 1.6 – istruzioni passo passo
La soluzione si compone di due passaggi da eseguire via FTP. L'intero procedimento richiede meno di 5 minuti. Prima di iniziare, scarica sul computer locale una copia di backup del fileclasses/Tools.php.
Passaggio 1 – disattiva la comunicazione con l'API Addons nel file Tools.php
Via FTP apri il fileclasses/Tools.php. Alla fine del file trova la riga:
protected static $is_addons_up = true;
Cambia il valore true in false:
protected static $is_addons_up = false;
Salva il file e caricalo via FTP. Questa modifica fa sì che il metodo addonsRequest() restituisca subito false, senza alcun tentativo di connessione all'API esterna – il problema viene eliminato alla radice.
Passaggio 2 – elimina i file XML danneggiati
Via FTP vai nella cartella/config/xml/ ed elimina due file:
default_country_modules_list.xmlmust_have_modules_list.xml
Quali sono le conseguenze della disattivazione di addonsRequest in PrestaShop?
È la domanda che si pone ogni amministratore dopo aver applicato questa correzione. La risposta è semplice: le conseguenze per un negozio in funzione sono minime. Cosa smette di funzionare dopo aver impostato$is_addons_up = false:
- La sezione «Moduli consigliati» nella dashboard – non mostrerà l'elenco dei moduli consigliati da PrestaShop Addons,
- La sezione «Must-have modules» – l'elenco dei moduli indispensabili non verrà scaricato,
- I suggerimenti automatici di moduli durante la configurazione – l'installer non proporrà estensioni dal marketplace.
- Tutti i moduli installati – funzionano senza alcuna modifica,
- L'installazione manuale dei moduli tramite BO o FTP – invariata,
- Acquisti, carrello, pagamenti, spedizione – assolutamente invariati,
- SEO e indicizzazione da parte di Google – nessun impatto,
- L'intero front-end del negozio – invariato.
classes/Tools.php verrà sovrascritto con la versione originale. Conviene annotare questa modifica nella documentazione tecnica del negozio, per ricordarsi di applicarla di nuovo.
Backup prima della modifica – un obbligo, non un'opzione
Prima di qualsiasi intervento sui file di PrestaShop bisogna sempre fare un backup. In questo caso l'ambito minimo del backup è il fileclasses/Tools.php – scaricalo via FTP sul computer locale prima di modificarlo. Se qualcosa va storto durante il salvataggio o il caricamento, hai il file originale a portata di mano e puoi ripristinarlo subito. È anche buona pratica avere una copia aggiornata dell'intero database del negozio – indipendentemente dai lavori tecnici eseguiti.
Riepilogo
Gli errori XML nel pannello di amministrazione di PrestaShop 1.6 legati ai filecountry_module_list.xml e must_have_modules_list.xml sono un problema classico dovuto all'indisponibilità dell'API esterna addons.prestashop.com per questa versione del software. Il negozio scarica HTML invece di XML e non riesce a elaborarlo, riempiendo la dashboard di decine di messaggi di errore.
La soluzione si riduce a due semplici azioni via FTP: cambiare un valore in classes/Tools.php da true a false ed eliminare due file XML danneggiati dalla cartella /config/xml/. La disattivazione del meccanismo addonsRequest non influisce su vendite, SEO né sul funzionamento dei moduli installati – l'unica funzionalità persa è la visualizzazione dei consigli sui moduli dal marketplace, che comunque quasi nessuno usa nei negozi basati sulla versione 1.6.
Se non ti senti sicuro nella modifica dei file PHP o preferisci affidarti a uno specialista, eseguirò volentieri questa correzione per te. Il costo del servizio è di 46 € netti.
AJIT Adam Jasiński
Tel.: 728 658 005
E-mail: ajit@ajit.pl Get notified about new articles
Subscribe by e-mail or turn on browser notifications — we only send new blog posts, nothing else.


Commenti
Nessun commento in questo momento!
Lascia il tuo commento