MadBoxr (plugin per MODx)

Ho scritto un plugin per MODx, il CMS che uso per questo sito. Principalmente, usando uno script molto conosciuto (Lightbox, o meglio, un paio di sue varianti), mostra le immagini a grandezza naturale, cliccando sulle miniature. L'animazione che ne risulta è molto famosa, il suo nome è "fancy pants" (che non so bene come tradurre in italiano). Cliccate su una delle immagini qui sotto per vederla.

Utilizzare MadBoxr su un sito che utilizza MODx è molto semplice. Tutto è gestibile dal Rich Editor TinyMCE. Bisogna creare un link intorno al testo o all'immagine che si vuole lanci lo script che mostra il box. In questo link, nel campo "Link URL" si deve inserire una stringa formata da #madboxr eventualmente seguito da ? e una serie di parametri. I parametri attualmente accettati sono i seguenti

  • w indica la larghezza del box
  • h indica l'altezza del box
  • url indica l'URL a cui lo script accede per ottenere il contenuto del box; questo può essere sia un'immagine che l'indirizzo di un'altra pagina html
  • flickr utilizza una semplice funzione per generare l'indirizzo dell'immagine ingrandita utilizzando quello dell'immagine interna al link (cioè quella miniaturizzata); per questo motivo non è possibile avere entrambi i parametri url e flickr

Una tipica stringa che può essere usata nel campo "Link URL" è la seguente:

#madboxr?w=640&h=480&url=http://www.google.com 

Notate gli = per indicare il valore di ogni parametro e gli & per suddividere più coppie parametro/valore.

Script utilizzati 

Lightbox è il primo script the ha implementato la caratteristica mostrata in questa pagina, è stato scritto da Lokesh Dhakar e usa le librerie prototype e script.aculo.us. Poiché MODx, invece, usa il framework mootools, il mio plugin MadBoxr usa Slimbox, un clone di Lightbox scritto da Christophe Beyls che usa mootools invece che prototype e script.aculo.us. E' anche possibile usare una versione estesa di Slimbox, scritta da Yukio Arita: questa versione estesa permette di avere contenuto html in iframe, in aggiunta alle immagini, mentre lo Slimbox originale può visualizzare soltanto immagini.

Poiché la versione estesa di Slimbox sembra essere un po' più lenta, nella scheda "configuration" del plugin in MODx c'è la possibilità di scegliere uno dei due script. Se volete usarlo soltanto per le immagini, scegliete "slimbox", altrimenti scegliete "slimbox_ex". La versione estesa è quella di default se seguite le istruzioni in fondo a questa pagina.

Licenza

Questo plugin è rilasciato sotto la licenza GPLv3.

 

Esempio 1: immagini (indicando entrambi gli URL)

Colored stones

L'immagine, in questo caso, è presa da questo sito web. Inserendo l'immagine, indichiamo nel campo "Image URL", l'indirizzo della miniatura e eventualmente riempiamo anche i campi "Width", "Height" e "Title". All'immagine in miniatura alleghiamo un link, nel cui campo "Link URL" indichiamo #madboxr, seguito dalle sue eventuali opzioni, in particolare l'opzione url, che indica dove andare a prendere l'immagine ingrandita. Il link e l'immagine si presentano dunque in questo modo:

<a href="#madboxr?w=500&url=assets/images/fractals/ColoredStones.jpg">
<img src="assets/images/fractals/ColoredStones.jpg" width="100" height="75"/>
</a>

In questo caso specifico ho usato per le due immagini (quella miniaturizzata e quella ingrandita) la stessa immagine. In generale si dovrebbe usare un'immagine opportunamente rimpicciolita.

 

Esempio 2: immagini da Flickr 

Il Ponte di Brooklyn, New York, USA

Se l'immagine è presa da Flickr, è possibile evitare di indicare ogni volta entrambi gli indirizzi (quello della miniatura e quello dell'immagine ingrandita). Per far questo, intanto bisogna collegare un'immagine presente su Flickr.

Andate alla vostra pagina di Flickr e scegliete l'immagine che volete inserire. Cliccate sull'icona con la lente di ingrandimento ("tutte le dimensioni") e scegliete la dimensione del thumbnail. In fondo alla pagina di Flickr c'è l'indirizzo per utilizzare questa immagine su un altra pagina. A questo punto potete inserire un'immagine sulla pagina del vostro sito, indicando come URL quello appena copiato da Flickr.

Quando andate a fare il link sull'immagine, è sufficiente indicare #madboxr?flickr=, eventualmente seguito da altre opzioni. Il plugin automaticamente genererà l'opportuno URL da mettere sul link. Ecco come appare dunque il blocco link + immagine:

<a href="#madboxr?flickr=&w=640&height=480">
<img src="http://farm2.static.flickr.com/1361/918464184_db79a7756f_t.jpg"/>
</a>

Su Flickr sono presenti anche altri formati di immagine oltre a quello utilizzato in questo caso (500x375), per utilizzare un altro formato per l'immagine ingrandita, è bene tenere presente che Flickr aggiunge al nome dell'immagine una lettera per indicarne la dimensione. Ad esempio se l'indirizzo finisce per _t, si tratta di un thumbnail (100x75). E' dunque sufficiente utilizzare la lettera con cui termina l'indirizzo dell'immagine alla dimensione desiderata, e indicarlo come parametro, ad esempio:

#madboxr?flickr=m&w=640&height=480.  

Esempio 3: contenuto di una pagina (iframe)

Infine, utilizzando slimbox_ex, è possibile anche visualizzare contenuti diversi dalle immagini, nel box. Per far questo, è sufficiente creare un link il cui indirizzo sarà, come sempre, #madboxr e conterrà come opzione "url", l'indirizzo della pagina che si vuole visualizzare nel box.

Clicca qui per vedere il contenuto di Google dentro uno Slimbox. Il link si presenta in questo modo:

<a href="#madboxr?url=http://www.google.com">Clicca qui</a>

Installazione del plugin in MODx

Ecco le istruzioni per installare questo plugin in MODx:

  • scaricate il plugin dalla pagina delle risorse di MODx ed estraetene il contenuto da qualche parte nel vostro hard disk
  • create un nuovo plugin MODx e chiamatelo "MadBoxr"
  • copiate il contenuto del file plugin.slimboxr.tpl nel box del codice del plugin
  • andate nella scheda "System Events" e attivate "OnLoadWebDocument" e "OnWebPagePrerender"
  • andate nella scheda "Configuration" e copiate la seguente stringa nel campo "Plugin configuration":
    &scriptToUse=Script to use;list;slimbox,slimbox_ex;slimbox_ex
  • salvate il plugin
  • fate l'upload della directory madboxr nella directory assets/plugins del vostro sito web


Importante: sia slimbox.js che slimbox_ex.js contenuti nel pacchetto funzionano soltanto con mootools versione 1.1 o superiore. In MODx 0.9.6.1 c'è una versione precedente, che deve quindi essere aggiornata.

Per aggiornare mootools nel vostro sito MODx:

  • andate nella pagina di download di mootools,
  • attivate tutti i componenti eccetto (se non ne avete bisogno) quelli nella sezione "Plugins",
  • aprite il box "Choose compression type" e cliccate su YUI Compressor,
  • scaricate la libreria mootools da qualche parte sul vostro hard disk e rinominatela mootools.js (senza numero di versione),
  • fate l'upload di questo file nel vostro sito web, mettendolo al posto di quello presente in /manager/media/script/mootools

Write a comment

  • Required fields are marked with *.

mnhhphw
Posts: 3
Comment
WDJRmjPkbIYpQoag
Reply #3 on : Fri September 12, 2008, 15:13:41
BgJtoK <a href="http://fruhpuvwilhu.com/">fruhpuvwilhu</a>, [url=http://armmsskofwdr.com/]armmsskofwdr[/url], [link=http://ocbjmpqpljbu.com/]ocbjmpqpljbu[/link], http://wyhcbdwbonle.com/
ufagruus
Posts: 3
Comment
ufagruus
Reply #2 on : Tue May 13, 2008, 03:04:10
<a href="http://vazlpuxm.com">iltwekpa</a> [URL=http://sdyevtty.com]dzjgbxjn[/URL] pzoowqwb http://raqnahwr.com lpahqdak hbipkrll
ejyqhffmm
Posts: 3
Comment
vvkbDkFboanB
Reply #1 on : Tue February 19, 2008, 20:28:47
8KgJR4 <a href="http://svmfwoehqzvi.com/">svmfwoehqzvi</a>, [url=http://laopwutkkkou.com/]laopwutkkkou[/url], [link=http://vjlmzelwqirh.com/]vjlmzelwqirh[/link], http://qipdkzlumxwq.com/
 .