Le ultime novità di PrestaShop 1.7.8
Come di consueto, anche questo mese torna l’appuntamento con i PrestaShop Live Talks Italia in compagnia del nostro Tech Evangelist Marco Salvatore per parlare delle ultime novità e degli aggiornamenti sullo sviluppo delle nuove funzionalità in casa PrestaShop. Ma iniziamo subito a scoprire tutto quello di cui abbiamo parlato nella diretta Facebook e Youtube di martedì 14 settembre.
Prestashop 1.7.7.7
La prima notizia riguarda la patch release 1.7.7.7 della versione 1.7.7 rilasciata il 19 agosto, che non fornisce miglioramenti o nuove caratteristiche ma corregge solo due regressioni. In questo caso si tratta di un bug minore e di un critical fix relativo alla fase di checkout.
PHP 8
Grandi novità invece per l’aggiornamento a PHP 8. Vediamole insieme con ordine.
PHP 8 Compatibility
L’ultima versione stabile di PrestaShop supporta attualmente PHP da 7.1 a 7.3, PHP 7.4 è utilizzabile invece per la Beta di PrestaShop 1.7.8. La configurazione di PHP 8 non prevede compatibilità con le versioni 1.7.7 e 1.7.8 (probabilmente non sarà compatibile neanche con l’ultimo rilascio della 1.7.9) ma sarà portata solamente con PrestaShop 8.0.
Ma cosa comporta l’aggiornamento a PHP 8? Una serie di ulteriori aggiornamenti che riguardano il Composer e in particolare:
- symfony/symfony 3.4 > 4.4
- guzzlehttp/guzzle 5.0 > 7.3
- phpunit/phpunit 7.5 > 8.5
- curl/curl 1.2 > 2.3
- mrclay/minify 2.3 > 3.0
- pelago/emogrifier 2.1 > 5.0
- defuse/php-encryption 2.0 > 2.3
Per quanto riguarda i principali cambiamenti, invece, con l’introduzione di PHP 8 la Class Attribute è stata rinominata Product Attribute e il PHPUnit8 ha richiesto l’inserimento del tipo restituito dal metodo.
Template Fix
La nuova versione di PrestaShop 8.0 porterà con sé anche altre novità come i template fix lato back office per la sistemazione, appunto, del template:
- pagina creazione ordine
- pagina posizione moduli
- pulizia varia
- minor tweaks
Le fix interesseranno la pagina di creazione dell’ordine:
- customer block
- cart block
- addresses block
- currency block
- cart and orders tab
Vi rimandiamo alle pull request di GitHub per tutti i dettagli (PR #25056 e PR #25312).
TypeScript
L’introduzione di TypeScript all’interno di PrestaShop è un’altra novità: permetterà di migliorare il livello di qualità del codice rendendo da un lato più stabile e sicura la programmazione in JavaScript, e dall’altro riducendo al minimo le possibilità di errore da parte degli sviluppatori.
Quali passaggi prevede l’introduzione di TypeScript
- Migrazione delle pagine Symfony a TS
- Riconfigurazione del nuovo tema (new-theme)
- Ridurre i bug in fase di test
- Più facile/manutenibile lo sviluppo front
Cosa serve per utilizzare TypeScript all’interno di PrestaShop
- TypeScript
- Ts-loader
- Ts-node
- Alcuni eslint typescript plugin
Come utilizzare TypeScript all’interno dei moduli
- Se il modulo è retrocompatibile: aggiungi nel progetto la configurazione di TypeScript e le dipendenze per poter importare qualsiasi file senza usare le estensioni. In questo caso sarà possibile compilare vecchie versioni del file.
- Se il modulo non è retrocompatibile: puoi utilizzare window.prestashop.components e un componente disponibile all’interno dell’ambiente, ma senza beneficiare del file di definizione TypeScript.
Il modulo blockwishlist utilizza già le funzionalità di TypeScript.
Documentazione per PrestaShop 8.0
Altra novità riguarda la documentazione per PrestaShop 8.0: durante la consultazione dei documenti DevDocs darà agli sviluppatori la possibilità di verificare gli argomenti switchando tra le due versioni 1.7.7 e 1.7.8 per esaminare tutte le differenze.
Nuovo modulo di esempio
È ora disponibile un nuovo modulo di esempio compatibile dalla 1.7.8 (l’ultimo modulo pubblicato nel progetto PrestaShop di GitHub è demosymfonyform) che prevede due versioni:
- versione con form singolo
- versione con form multipli
Guida al contenuto
Ultimo e interessante aggiornamento di questa live talks riguarda la Guida al contenuto, ovvero un documento di riferimento per tutta la comunità di contributors che definisce principi e linee guida per la scrittura e la formattazione del testo. Uno strumento utile che arricchisce e migliora l’esperienza e il lavoro degli sviluppatori all’interno del software di PrestaShop.