Skip to main content

Un altro modo per creare miniature con VirtueMart

Recentemente abbiamo pubblicato un articolo che illustra come creare miniature delle dimensioni desiderate in VirtueMart.

Esiste in realtà una soluzione già integrata in VirtueMart che ci evita di scrivere del codice aggiuntivo. Ci sono alcune differenze, anche se l’effetto finale è il medesimo.

Scopriamo la soluzione integrata in modo che possiate decidere se per voi sia meglio usare questa rispetto a quella offerta da GiBiLogic.

Soluzione GiBiLogic

Un breve riepilogo sulla soluzione offerta da noi: una semplice funzione personalizzata che, fornito un id prodotto, una altezza e una larghezza, si occupa di:

  • recuperare l’immagine principale in base all’id prodotto
  • verificare se esista già una miniatura alle dimensioni fornite
  • crearla se non esiste
  • ritornare in ogni caso il percorso completo della nuova immagine

Soluzione integrata

La soluzione integrata si basa sul fatto di indicare una pagina come sorgente del tag img; tale pagina si chiama show_image_in_imgtag.php e accetta come parametri dell’URL  il percorso completo dell’immagine originale e le nuove dimensioni.

Ad esempio, in un qualunque template VirtueMart potremmo aggiungere le seguenti linee di codice (il carattere “_” viene usato per indicare un “a capo” inserito solo per motivi di formattazione della pagina):


<?php
$filename = urlencode( "/components/com_virtuemart/ _
_ shop_image/product/product_123.jpg" );
$new_width = "250";
$new_height = "250";
?>
<img src="/components/show_image_in_imgtag.php? _
_ filename=$filename&newxsize=$new_width& _
_ newysize=$new_height" alt="..." />

Differenze

La soluzione integrata ha l’ovvio vantaggio di essere, appunto, integrata. E’ disponibile in VirtueMart fin dall’installazione e non teme eventuali aggiornamenti.

La soluzione GiBiLogic ha, a nostro avviso, i seguenti due vantaggi principali:

  1. l’attributo src viene compilato con un vero e proprio nome di file immagine, anzichè con una pagina che produce una immagine; questo può migliorare il posizionamento delle immagini stesse nei motori di ricerca;
  2. chiamare una funzione durante l’elaborazione lato server è più rapido che effettuare un ulteriore richiesta http lato client.

Feedback

Saremmo felici di sapere le vostre opinioni, critiche, insulti o apprezzamenti 🙂

Per cui non esitate a lasciarci un commento spiegandoci quale delle due soluzioni preferite, e perchè.

 

 

 

 

Commenti (1)

I commenti sono chiusi.