Info e News

Speciali

Fornitori

Produttori

Principali cambi in PrestaShop 8.0

Principali cambi in PrestaShop 8.0

Supporto PHP

PrestaShop 8.0 aggiunge il supporto per PHP 8.0 e PHP 8.1 e richiede almeno PHP 7.2.5.


Modifiche degne di nota

    I file Javascript per le pagine migrate nel Back Office sono ora scritti in TypeScript (modifica correlata: #24791).
    Il supporto per i dizionari di traduzione legacy (es. en.php, fr.php..., deprecati nella 1.7) è stato rimosso dai controllori Core. Solo i moduli possono ancora utilizzare questo sistema.
    Tutti i moduli presenti nella cartella modules durante il processo di installazione saranno installati per impostazione predefinita (tranne nell'installazione via web, dove è possibile deselezionarne alcuni). I moduli possono usare Module::postInstall() per eseguire codice dopo che l'installazione del negozio è stata completata (per saperne di più).
    Twig è stato aggiornato alla versione 3. Le funzionalità deprecate delle versioni v1 e v2 non sono più disponibili.
    Tutti gli script di aggiornamento sono stati rimossi dal nucleo e spostati nel modulo Upgrade.
    L'utilizzo di un alias di gancio fa scattare un avviso di deprecazione.
    Se PrestaShop rileva che un modulo si registra per un Hook ma non implementa un metodo per esso, verrà lanciata un'eccezione in modalità sviluppatore. Questo messaggio di errore ha lo scopo di aiutare gli sviluppatori a identificare gli errori durante lo sviluppo del modulo e non dovrebbe influire sui moduli in produzione (Per saperne di più).
    Storicamente, il nome predefinito del Vettore era "0", ora si chiama "Click and collect".
    La funzione di cambio in tempo reale è stata rimossa.
    In Back office, il file .rtlfix è stato rimosso, anche se il supporto per tali file rimane. Si raccomanda di portare le modifiche (se presenti) all'interno dei fogli di stile rtl.scss.
    La nuova API di distribuzione consente ai moduli di fornire a Module Manager informazioni sui moduli nuovi e aggiornati provenienti da servizi remoti. PrestaShop 8 sfrutta questa nuova funzionalità per gestire i download e gli aggiornamenti dei moduli del progetto.
    Grazie al supporto di PHP 8.1, molti metodi hanno dichiarato un tipo di ritorno.
    La logica per il login e la registrazione dei clienti è ora suddivisa tra due controllori (RegistrationController, AuthController). Questo potrebbe avere un impatto su temi e moduli di terze parti, poiché l'URL per la registrazione è cambiato.
    Prima che PrestaShop effettui un ordine, ora c'è un'ulteriore richiesta per verificare se il numero di prodotti nel carrello è ancora valido. Ciò potrebbe richiedere ai moduli di pagamento di terze parti di implementare i controlli nelle loro soluzioni.
    A causa delle nuove funzionalità di gestione dei criteri delle password, le soluzioni di terze parti che generano i dati dei clienti potrebbero dover implementare le modifiche di conseguenza.
    In alcuni Paesi, il caricamento di font attraverso il servizio CDN di Google Fonts è stato giudicato incompatibile con il GDPR, pertanto questi font sono ora integrati nel progetto. Questo non dovrebbe influire sul vostro lavoro, ma è importante diffondere la consapevolezza su questo argomento.

Aggiornamento di Symfony

Symfony è stato aggiornato alla versione 4.4, che include una serie di modifiche:

    Gli adattatori di cache dell'ORM Doctrine per Memcache e APC non sono più disponibili. Il modo in cui la cache è gestita è cambiato in Symfony 4.4 e memcache e apc non fanno parte dei nuovi metodi di cache disponibili.
    I servizi che non sono iniettati nelle dipendenze e che non sono dichiarati come "public" sono rimossi dal contenitore
    L'opzione "choices_as_values" di ChoiceType non esiste più, prima era già vera per impostazione predefinita.
    Non è possibile chiamare Form::isValid() se Form::isSubmitted() non è stato chiamato in precedenza
    La sintassi bundlename:path:file.html.twig non è più valida, usare @bundlename/path/to/file.html.twig
    La sintassi per _controller nelle rotte non deve più utilizzare la notazione breve (PrestaShopBundle:Admin/Error:enableDebugMode, ad esempio), ma il percorso completo: PrestaShopBundleControllerAdminErrorController::enableDebugModeAction
    I file di traduzione sono stati spostati da /app/Resources/translations/ a /translations/.
    L'annotazione @AdminSecurity is_granted() non dovrebbe accettare un array, ma usare esplicitamente && o || quando si controllano più diritti.
    Le estensioni dei tipi di form dovrebbero smettere di implementare la funzione pubblica getExtendedType() e implementare invece la funzione statica pubblica getExtendedTypes(): iterable (leggere di più).

Nuova pagina di prodotto

Temi

I temi che utilizzano i tooltip di jQuery UI potrebbero dover essere aggiornati per utilizzare i tooltip di bootstrap (per saperne di più);
Temi figlio

L'impostazione use_parent_assets in theme.yml, se impostata a true, fa sì che il tema figlio carichi le risorse del suo genitore (css, img e js) invece delle proprie. Questa caratteristica, non funzionante e ignorata nella 1.7, è stata corretta e migliorata per la 8.0. Per un'ulteriore messa a punto, quando la funzione è attiva è disponibile un nuovo insieme di variabili child_*_url, che consente agli sviluppatori di temi di accedere agli url delle risorse del genitore e del figlio separatamente.

Per mantenere il comportamento della 1.7 e caricare le risorse del tema figlio, use_parent_assets deve essere impostato su false.
Tema classico

    In checkout/_partials/steps/payment.tpl, l'ID payment-form è stato cambiato in payment-{$option.id}-form.
    I messaggi di stato vuoti sono ora mostrati all'interno del blocco (invece che nella parte superiore della pagina) in pagine come la cronologia degli ordini, gli indirizzi, ecc.
    Il tema Classic supporta ora la nuova politica delle password introdotta qui.

Interfaccia del back office

La versione di Bootstrap utilizzata nelle pagine del Back office basate su Symfony è stata aggiornata dalla 4.0 alla 4.4.

Ottimizza la SEO del tuo Prestashop con PS IT Clean urls Module

Il Modulo per la pulizia dei friendly Urls Prestashop piú usato!

Oppure scegli la versione Advanced in caso di esigenze piú complesse

Potrebbe interessarti ... Prestashop SEO Total Pack

I 4 moduli indispensabili per la SEO del tuo Prestashop in un unico pacchetto "Extra Sconto"!

pacchetto-prestashop-seo-totale.jpg

Ottimizza la SEO del tuo Prestashop con PS IT SEO Modules!

Vedi tutte le nostre soluzioni...

Login

Autenticazione


Non hai ancora un account?

Crea il tuo account

Crea il mio Account ora


Support