[Symfony]: YUI Tooltip helper
Avevo bisogno di una libreria solida che mi permettesse di avere dei tooltip e anche altri effetti javascript, era da tempo che volevo provare la YUI (Yahoo User Interface), una libreria immensa di codice, molto documentata e facile da utilizzare, cosi non ho perso tempo e ho creato subito un piccolo Helper per Symfony (si adoro questo framework ogni giorno di più)
Questo è il codice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | _addYahooResources(); function tooltip($element_id, $text, $delay = 250, $options = array()) { $options['context'] = $element_id; $options['text'] = $text; $options['delay'] = $delay; $code = 'myTooltip = new YAHOO.widget.Tooltip("myTooltip",'._my_options_for_javascript($options).');'; return javascript_tag($code); } function _addYahooResources() { $response = sfContext::getInstance()->getResponse(); /* Stylesheet */ $response->addStylesheet('http://yui.yahooapis.com/2.3.0/build/container/assets/container.css'); /* Javascript */ $response->addJavascript('http://yui.yahooapis.com/2.3.0/build/yahoo-dom-event/yahoo-dom-event.js'); $response->addJavascript('http://yui.yahooapis.com/2.3.0/build/animation/animation-min.js'); $response->addJavascript('http://yui.yahooapis.com/2.3.0/build/container/container-min.js'); } function _my_options_for_javascript($options) { $opts = array(); foreach ($options as $key => $value) { $value = '"'.$value.'"'; $opts[] = "$key:$value"; } sort($opts); return '{'.join(', ', $opts).'}'; } |
L’utilizzo è molto semplice, basta copiare questo helper in app/{APPLICAZIONE}/lib/helper/chiamalocomevuoiHelper.php
E poi chiamare la funzione quando ne avete bisogno nei template, in questo modo:
1 | < ?php echo tooltip('id_elemento','testo'); ?> |
L’helper supporta anche tutti i parametri della libreria originale, basta passarli in un array come terzo parametro.
Symfony si preoccuperà di caricare la libreria automaticamente, non vi resta che utilizzarla.
Per la documentazione del codice YUI Tooltip fate riferimento a questo sito:
http://developer.yahoo.com/yui/container/tooltip/ (documentazione ufficiale)
Per ora è tutto, ci sentiamo al prossimo helper ![]()
Comments
6 Responses to “[Symfony]: YUI Tooltip helper”
Leave a Reply
Ciao Paolo arrivato qui da un po di tempo grazie a Stefano (tuo fratello giusto??) e seguo il tuo feed da allora.
Prima o poi ci proverò anche io.
Veramente un bel post
PS: il nero come sfondo del codice è davvero un pugno nell’occhio
Si si, Stefano è mio fratello gemello
Comunque, hai ragione il nero non è che sia il massimo, ora cambiato schema di colori, come ti sembra ? Dovrebbe gia essere più leggibile.
Ti seguo regolarmente da quanto ti ho nel mio feed reader, bel blog, ma non esagerare con gli adv
Yes sono il suo carissimo (in tutti i sensi) fratellino
Finalmente si è messo a bloggare alla grande, anche con template stilosi, sono contento.
[…] [Symfony]: YUI Tooltip helper […]
Beh. Allora ti conoscevo già!
Ho usato questo tuo helper su Firmiamo.it
Ciao
@Andrea
Mi fa piacere
Ottimo lavoro con Firmiamo.it, l’hai aggiunto nelle applicazioni sviluppate sul sito ufficiale di Symfony ?
Ciao