Dopo la creazione, la nuova immagine viene salvata in un'apposita cartella di cache in modo da poter essere riutilizzata alle successive visualizzazioni della pagina. L'immagine nella cartella di cache è valida fino al momento in cui si definiscono nuovi parametri di ridimensionamento.
I vantaggi dell'utilizzo di questo plugin sono:
- non è necessario preoccuparsi della dimensione dell'immagine originale durante l'upload della stessa: questa verrà ridimensionata successivamente a seconda delle esigenze grafiche;
- è possibile modificare le dimensioni delle immagini di tutti gli articoli già pubblicati semplicemente cambiando i parametri all'interno delle opzioni del plugin: in questo modo non ci sono problemi se si vuole modificare la larghezza o altezza delle immagini giù pubblicate dopo aver modificato graficamente il sito (es.: aumentare la larghezza delle immagini visualizzate al 100% della larghezza dell'articolo, se l'area di visualizzazione dell'articolo è aumenta in larghezza);
- poter utilizzare la funzione di crop (ridimensionamento e taglio dell'immagine originale in una nuova con rapporto larghezza/altezza diverso).
Download
This is a security release for Joomla Resize Image on the Fly and Cache plugin.
NOTE: Users who have already installed the extension will need to manually fix the permissions of folder /images/cache to 755 or delete it in order to be recreated by the plugin with the proper permissions.
Installazione
Scaricare il plugin da questa pagina (in alto) ed installarlo da Estensioni > Gestione estensioni dell'area di amministrazione di Joomla.
Configurazione del plugin
Da Estensioni > Gestione plugin aprire la pagina di configurazione del plugin Content - Resize Image on the Fly and Cache.
Nella scheda Opzioni di base è possibile controllare/modificare le seguenti opzioni:
- Graphic Library: libreria grafica da utilizzare per l'elaborazione delle immagini (controllare cliccando sulla scheda Test Libraries quali librerie sono disponibili sul proprio server) - librerie/procedure disponibili: Imagick Shell Execute, PHP Imagick Class, JImage (GD);
- Shell Execute Path (da impostare solo se la libreria scelta è Imagick Shell Execute): percorso sul server del comando convert di ImageMagick da utilizzare per il lancio dell'elaborazione (es. convert oppure /usr/bin/convert);
- Cache Folder: cartella dove salvare le immagini dopo l'elaborazione per il successivo riutilizzo (cartella predefinita: images/cache).
Definizione immagini
Il plugin è studiato in modo da poter definire liberamente più opzioni da utilizzare durante il processo di trasformazione di un'immagine utilizzando la seguente forma:
<opz1>=<val1>, <opz2>=<val2>,...<opzN>=<valN>
Per ogni tipologia di immagine presente nell'articolo è possibile definire le seguenti opzioni:
- w (width): larghezza dell'immagine in pixel;
- h (height): altezza dell'immagine in pixel;
- crop (ritaglia): se il rapporto w/h è diverso rispetto a quello dell'immagine originale, ritaglia opportunamente la nuova immagine in modo da evitare spazi bianchi*;
- maxOnly: ridimensiona ai nuovi valori w e h solo se l'immagine originale risulta più grande rispetto alla risultante (evita l'effetto "sgranato" nel caso in cui l'immagine sia già alla sua dimensione massima);
- quality: qualità dell'immagine ridimensionata (da 0 a 100, default: 90).
* L'applicazione di w e h contemporaneamente senza l'utilizzo del parametro crop può dar luogo a risultati diversi a seconda della libreria usata (con Imagick Shell Execute vengono poste delle bande nere nello spazio "che avanza", con PHP Imagick Class si assiste ad un'alterazione dell'immagine mentre la JImage (GD) considera solo il valore più basso tra w e h).
In generale quindi sempre meglio indicare solo una delle due opzioni w e h oppure, nel caso si vogliano utilizzare contemporaneamente, è consigliato effettuare anche un crop dell'immagine, in modo da evitare risultati indesiderati.
Nella sezione Size definitions della scheda Opzioni di base del plugin, è possibile definire come elaborare le immagini di ogni articolo (già pubblicato o ancora da scrivere) utilizzando le opzioni nella forma definita sopra. Le tipologie di immagine disponibili sono le seguenti:
- Default Size in Article: dimensione predefinita da applicare alle immagini contenute nel testo dell'articolo;
- Intro Image Size: dimensione da applicare all'immagine di introduzione dell'articolo;
- Full Article Image Size: dimensione da applicare all'immagine articolo esteso;
Nel campo Extra Size Definitions è inoltre possibile definire un'elenco di ulteriori opzioni da applicare solamente alle immagine che corrispondono alle classi CSS indicate. L'elenco delle classi con relative opzioni viene stilato nella seguente forma:
<classe1>: <opz1>=<val1>, <opz2>=<val2>, ... <opzN>=<valN>;
<classe2>: <opz1>=<val1>, <opz2>=<val2>, ... <opzN>=<valN>;
...
<classeN>: <opz1>=<val1>, <opz2>=<val2>, ... <opzN>=<valN>;
Dall'elenco definito sopra, verranno rigenerate rispettivamente le immagini incluse nell'articolo tramite codice <img class="classe1" ...>, <img class="classe2" ...>, ... <img class="classeN" ...>.
Il plugin funziona anche con articoli scritti con l'estensione Joomla! K2. In particolare, è possibile applicare il ridimensionamento impostato in Intro Image Size all'immagine allegata all'articolo K2 attivando l'opzione Override K2 Image Sizes.
È inoltre possibile Escludere articoli o categorie dall'applicazione del plugin.
Attivazione
Dalla scheda Dettagli delle opzioni del plugin, attivare l'estensione impostando il campo Stato come Abilitato.
Utilizzo in un modulo HTML personalizzato
È possibile applicare il plugin anche nel contenuto di un modulo HTML personalizzato di Joomla. In tal caso, attivare la voce Opzioni di base > Interpreta codice plugin nelle impostazioni del modulo.
Screenshot
Ecco un'esempio di configurazione "tipo" del plugin con indicato che parte di articolo andrà ad influire:
Esempi utilizzo opzioni
img-article: w=842, maxOnly=TRUE;
img-article-h100: w=842, h=100, crop=TRUE;
img-w200-h200: w=200, h=200, crop=TRUE;
Utilizzo da codice
È possibile utilizzare la funzionalità di ridimensionamento e cache al volo implementata nel plugin direttamente nel codice di un template Joomla. Ecco un esempio di come includere la libreria (dopo aver installato il plugin) e come utilizzarla:
<?php
// Include the necessary file and create the resizer instance
require_once JPATH_SITE . '/plugins/content/imgresizecache/resize.php';
$resizer = new ImgResizeCache();
?>
<!-- resize and show image -->
<?php $images = json_decode($this->item->images); // item is supposed to be the article ?>
<img src="<?php echo htmlspecialchars($resizer->resize($images->_image_intro, array('w' => 200, 'h' => 100, 'crop' => TRUE))); ?>" alt="<?php echo htmlspecialchars($images->image_intro_alt); ?>" />
Importante Dato che $images->image_intro
potrebbe contenere il percorso dell'immagine già ridimensionata, utilizzo $images->_image_intro
(il plugin mantiene i percorsi delle immagini originali, aggiungendo come prefisso un _
ai nomi variabile originali).
Troubleshooting
Problema: Dopo l'installazione del plugin, sulle pagine del sito compare il seguente errore: "JFolder::create: Path not in open_basedir paths"
Soluzione: La soluzione si trova a questo indirizzo: http://webtechriser.com/tutorials/82-joomla-3-0/83-fixing-jfolder-create-path-not-in-open-basedir-paths.