Differentemente da altri software di ecommerce per esempio VirtueMart, PestaShop qui complica leggermente allo scopo di rendere più veloce e reattivo il nostro sito di commercio elettronico in presenza di grandi cataloghi. Per farlo non usa una cartella unica per le immagini, ma crea una cartella per ogni cifra del valore id_immage, andando a inserire le immagini del prodotto nell'ultima cartella che corrisponde all'ultima cifra del nostro numero di ID.

COME GESTISCE LE IMMAGINI PRESTASHOP?

Quando andiamo a inserire un immagine in un prodotto PrestaShop 1.5.X/1.6.X e 1.7 va a popolare nella tabella ps_image  i seguenti campi: id_image, id_product, postion, cover dove:

  • il campo id_image è AUTO_INCREMENT
  • il campo id_product è id del prodotto che stiamo inserendo/modificando
  • il campo position è l’ordine in caso di più immagini
  • il campo cover identifica l’immagine di copertina impostando il valore a 1 mentre le altre il valore è 0

Una volta popolato il DB carica l’immagine rinominandola come id_image.jpg  e crea le varie miniature impostate nella tabella ps_imgage_type (Back office > Preferenze > Immagini).
La regola del nome delle miniature è molto semplice le immagini saranno id_image-nomeformato.jpg

Es. abbiamo caricato un immagine di un prodotto, PrestaShop assegna a quest'immagine ID 936, rinomina la nostra immagine come 936.jpg a creerà anche tutte le miniature leggendo la tabella ps_imgage_type, poniamo nell'esempio che abbiamo solo home_default che è 124x124px, PrestaShop crerà il file 936-home_default.jpg con le dimensioni impostate in Back office > Preferenze > Immagini.
PrestaShop salverà queste immagini in: img/p/9/3/6/ dove /img/p è la cartella predefinita per le immagini dei prodotti (/img/c/ è quella delle categorie)

Vediamo nel dettaglio cosa avviene quando ponendo ID del prodotto uguale a 455 e caricando una seconda immagine che prende ID 964:

Nella tabella ps_image crea i seguenti record:

id_imageid_productpositioncover
96345510
96445521


Nella tabella ps_image_lang crea i seguenti record:

id_imageid_langleggend
9631Nome Prodotto
9641Nome Prodotto


Questa tabella varia a seconda delle lingue che gestiamo nel commercio elettronico (è possibile caricare un immagine diversa per ogni lingua) e il valore impostato nel campo "Legenda" quando andiamo a caricare l'immagine.

Nella tabella ps_image_shop crea i seguenti record:

id_imageid_shopcover
96311
96410

Prestashop multistore: anche questa tabella varia a seconda che sia attivata la gestione Multinegozio nel nostro commercio elettronico e il numero stesso di negozi che abbiamo configurato.

Troveremo le nostre immagini in:
/img/p/9/6/3/963.jpg
/img/p/9/6/3/963- home_default.jpg
/img/p/9/6/4/964.jpg
/img/p/9/6/4/964- home_default.jpg

Prestashop visualizza poi le immagini attraverso la funzione getImageLink richiamata nei file del nostro Template.
Se abbiamo attivato la voce URL comprensibile in Back office > Preferenze > URL e SEO, l'immagini dei prodotti saranno rinominate con il nome del prodotto potenziando notevolmente l'ottimizzazione SEO del nostro sito.

Ottimizzare le immagini di un e-commerce in PrestaShop: ricordiamoci dell'importanza di ottimizzare le immagini del nostro e-commerce in PrestaShop. Possiamo usare le API di TinyPNG (https://tinypng.com/) anche attraverso l’ottimo modulo per PrestaShop presente su Addons:  https://addons.prestashop.com/it/website-performance/22488-compressore-di-immagini-con-tinypng.html. È possibile anche ottimizzare le immagini in locale con software windows quali FileOptimizer o operare l’ottimizzazione tramite accesso SSH al proprio server. L’ottimizzazione delle immagini ci permetterà di avere tempi di caricamento più rapidi e punteggi migliori da parte di Google.

Autore: Loris Modena

SENIOR DEVELOPER

Per Ind Loris Modena titolare di Arte e Informatica, inizia a lavorare nel settore informatico nel 1989 quale sistemista addetto alla manutenzione e installazione di sistemi informatici. Inizia a programmare per il web nel 1997 occupandosi di programmazione CGI in PERL e successivamente passando alla programmazione in PHP e JavaScript. In questo periodo si avvicina al mondo Open source e alla gestione di server Linux. 

prodotto aggiunto alla lista