6 marzo 2009  3

BBCode Shortcut plugin per WordPress: un semplice ma potente strumento per l’inserimento automatico di script parametrici

English version of this post

WordPress LogoL’idea che è alla base del funzionamento del plug-in BBCode Shortcut è semplice ma allo stesso tempo molto interessante. La sua realizzazione è partita da una richiesta di Gioxx relativa alle modalità di una possibile personalizzazione del mio plugin Wikipedia Autolink, che utilizza la sintassi BBCodeW per poter sostituire delle keyword parametriche all’interno del testo di un articolo con del codice HTML anch’esso parametrizzato (nella fattispecie un link).

L’uso dei BBCode permette di eliminare l’inserimento manuale nel testo di un articolo, di “snippet” di codice (javascriptW o HTMLW) sempre uguali, fatta eccezione per un limitato numero di parametri.

La necessità di Gioxx era appunto quella di poter utilizzare uno shortcut, nella forma [screenweek: xyz], per poter inserire rapidamente, all’interno dei post pubblicati sul suo blog, le schede relative ai film ospitate sul sito ScreenWeek.it e accessibili tramite un opportuno script parametrico riconducibile ad un unico codice variabile (a seconda del film).

Dalla specifica richiesta, allo sviluppo di uno strumento estremamente flessibile, il passo è stato brevissimo.

E’ possibile definire un numero di token (BBCode) a proprio piacere ed a ciascuno di essi associare uno o più valori (separati da virgole). In fase di rendering della pagina, tutti i BBCode in essa contenuti vengono rimpiazzati con lo snippet di codice relativo, sostituendo a ciascun parametro definito, i valori associati ai BBCode stessi.

Installazione

Scaricare download icon WordPress BBCode Plugin (25,60 kb) (rel: 1.1.0), quindi:

  1. Decomprimere il file
  2. Copiare l’intera cartella BBCode-Shortcut nella cartella
    /wp-content/plugins/

Accedere al pannello di amministrazione di WordPress, selezionare il menù Plugin ed attivare la nuova voce BBCode ShortCut.

Configurazione

Una volta attivato il plugin, sarà presente una nuova voce BBcode Shorcut nel menù Plugin che, una volta selezionata, consentirà l'accesso al pannello di controllo dello stesso. Da questo sarà possibile:

  • inserire un nuovo BBCode, o modificare quelli esistenti (ne sono presenti già due di test)
  • per ciascun BBCode si può definire il nome e lo script da associare ad esso. Per ogni variabile da inserire nello script, e che verrà sostituita dal rispettivo valore associato ad ogni istanza del BBCode quando questo viene inserito in un articolo, utilizzare la sintassi {0}, {1} e via discorrendo, a seconda del massimo numero di parametri utilizzato.
  • per ciascun BBCode è possibile inoltre definire uno script alternativo da visualizzare esclusivamente nel feed, in virtù del fatto che i tag come <script>, <object> ed <embedded> non sono elaborati nel formato RSS (o Atom) (aggiornamento del 9-3-2008: nuova funzionalità dalla versione 1.1.0)
  • ogni BBCode può essere disattivato. In tal caso, in fase di rendering della pagina non verrà mostrato nulla al suo posto.
  • il pannello di controllo è disponibile nelle seguenti lingue: italiano e inglese.

Esempio d’uso

Supponiamo di voler creare un BBCode per l’embedding automatico di video da YouTube a partire dal corrispondente codice univoco identificativo.

Assegniamo quindi ad esso il nome youtube e definiamo come script associato il seguente snippet:

<object type="application/x-shockwave-flash" 
        data="http://www.youtube.com/v/{0}" width="425" height="350" >
<param name="movie" value="http://www.youtube.com/v/{0}"></param>
<param name="wmode" value="transparent"></param>
</object>'

Notare come la variabile {0} sia stata utilizzata due volte all’interno dello script, dato che il valore ad essa associato risulta necessario in due punti differenti.

Dato che il tag <object> viene scartato nel rendering del flusso XML del feed RSS, definiamo uno script alternativo che mostri al posto del BBCode un collegamento al video direttamente su YouTube

<a href="http://www.youtube.com/watch?v={0}">Click here to view a video</a>

Successivamente è possibile inserire all’interno del proprio post il nuovo comando [youtube : xyz], ove xyz corrisponde al codice del video che desideriamo incorporare. In fase di rendering del post, verrà mostrato automaticamente il video desiderato (N.B.: non deve essere lasciato alcuno spazio tra il nome del bbcode ed i due punti successivi

Progetti futuri

Io e Gioxx abbiamo concordato la realizzazione di un piccolo repository di definizioni di BBCode, che ospiteremo in un apposito spazio web. I più interessanti e “globalmente” utili, faranno parte della dotazione standard delle prossime versioni di BBCode Shortcut, che potranno essere scaricate da questo sito o dall’apposita sezione che sarà presente nella directory di WordPress.org.

Ciascun volenteroso è invitato a collaborare proponendo i propri script.
Naturalmente ogni autore verrà citato nei credits del plug-in.


WordPress BBCode Shortcut plugin

BBCode Shortcut plugin allows you to define many token with one or more associated values. The tokens are replaced in the post with customized snippets of code where the variables (in the form {0}...{N}) are in turn replaced with the previous values.

Installation

Download download icon WordPress BBCode Plugin (25,60 kb) (rel: 1.1.0), then:

  1. Decompress the file.
  2. Copy the entire folder BBCode-Shortcut  to the
    /wp-content/plugins/ directory.

Activate the plug-in through the Plugins menu in WordPress.

Features

  • You can define an unlimited number of BBCode and scripts associated with these
  • You can define for each BBCode, a number of parameters of your choice
  • You can define a piece of alternative code to correctly display the BBCode in the RSS feed (new form release 1.1.0)
  • You can disable each BBCode
  • Supported languages of control panel: Italian, English

Example of Use

Your new BBCode is youtube and has 1 parameter (the video's key). Then associate to it the following snippet of code:

<object type="application/x-shockwave-flash" 
        data="http://www.youtube.com/v/{0}" width="425" height="350" >
<param name="movie" value="http://www.youtube.com/v/{0}"></param>
<param name="wmode" value="transparent"></param>
</object>'

The tag <object> is not allowed in the RSS feed. Then you must insert a alternative snippet of code to display a link to the video in the RSS feed:

<a href="http://www.youtube.com/watch?v={0}">Click here to view a video</a>

Now you can insert in your post [youtube : xyz]. WordPress will replace the token youtube with the video with code xyz. (N.B.: remove the blank space after youtube when you insert the code in your post)

You can leave comments in English ...

P.S.: i'm sorry for my poor english.

Esprimi il tuo giudizio

Commenti (3) -

baron
baron
08 mar 2009 alle 19:02  01
Works great, thank you
gialloporpora
gialloporpora
01 dic 2009 alle 20:29  02
Ciao,
ho una domanda: è possibile  inserire nel codice dello  shortcut codice PHP ?
Mi servirebbe per dare un id dinamico all'ID di un elemento span, se assegno sempre lo stesso ci sono elementi duplicati nella pagina principale.
Se non è possibile, fa nulla  metto due parametri e inserisco manualmente il post_id come secondo.
Ciao
PS: Ottimo plugin e ottimo blog Smile
Cristiano
Cristiano
01 dic 2009 alle 22:51  03
@ gialloporpora:
Non è possibile.
Il plugin nasce proprio per l'inserimento di codice "client side" (HTML, Javascript) e non "server side" quale appunto .PHP.

Aggiungi Commento

biucitecode
  • Commento
  • Anteprima
Loading


| |   |  

Codice QR

Codice QR - cristianofino.net

Ultimi Commenti