Bonjour,
Je viens d'ajouter un nouveau plugin qui télécharge (dans un dossier lib/) les librairies UI (plugin de jQuery) : http://ui.jquery.com/ et ajoute une balise #JQUERY_UI
Fonctionnement
--------------
Le téléchargement met les fichiers dans lib/jquery.ui-1.0/
Une balise #JQUERY_UI permet d'appeler la partie de la librairie que vous souhaitez, ainsi que son thème (3 thèmes sont fournis avec la librairie : light, dark et flora) ou un squelette spip renvoyant du css
Exemples :
#JQUERY_UI{tabs} ajoute
<script src="lib/jquery.ui-1.0/ui.tabs.js" type="text/javascript"></script>
#JQUERY_UI{tabs, light} ajoute :
<script src="lib/jquery.ui-1.0/ui.tabs.js" type="text/javascript"></script>
<link media="screen" type="text/css" href="lib/jquery.ui-1.0/themes/light/light.css" rel="stylesheet"/>
<link media="screen" type="text/css" href="lib/jquery.ui-1.0/themes/light/light.tabs.css" rel="stylesheet"/>
#JQUERY_UI{tabs, jqueryui.tabs.css} ajoute :
<script src="lib/jquery.ui-1.0/ui.tabs.js" type="text/javascript"></script>
<link media="screen" type="text/css" href="http://zazen/spip/marcimat/spip.php?page=jqueryui.tabs.css" rel="stylesheet"/>
Pourquoi au fait ?
-------------------
Parce que CFG a des tabs qui ne fonctionnement pas bien (au moins avec XSPF) !
L'objectif était de sortir le javascript jquery.tabs présent systématiquement dans toutes les fonds de CFG alors que 'seulement' 2 plugins l'utilisent (XSPF [ça ne fonctionnait plus!] et Inscription2), en appelant le script juste au besoin.
J'aimerais bien, donc, faire partir les javascripts (tabs) de CFG qui à mon sens n'ont pas à ajourdir ce déjà gros plugin dont on ne connait qu'une infime partie !
J'ai modifié XSPF pour cela... pour Inscription2, bien... a vous de voir, je peux le faire autrement, histoire de casser un peu de code ^^ !
Donc, parce que CFG, et parce que UI a l'air de faire plein de choses, compatibles avec jquery 1.2.1...
Comment utiliser cette librairie dans un plugin ?
------------------------------------------------
Deux possibilité pour qu'un plugin utilise cette librairie :
- soit mettre dans plugin.xml
<necessite id="lib:jquery.ui-1.0" src="http://jqueryjs.googlecode.com/files/jquery.ui-1.0.zip" />
et gérer soi même l'ajout des balises <script>
- soit mettre un <necessite id="jquery.ui" /> pour appeler ce plugin et avoir à disposition la balise #JQUERY_UI{}
Ensuite, cela peut aussi être optionnel, en mettant par exemple, en 1.9.3 :
[(#PLUGIN{jqueryui}|?{' '})
#JQUERY_UI{tabs}
]
Le futur
----------
Il y a tellement de possibilité avec cette librairie (c'est le nouveau 'jQuery.Interfaces') qu'il y a des chances pour que les spipeurs aient plein de bonnes idées pour l'utiliser et pour améliorer ce plugin (et il ne faudrait surtout pas se géner !)
Toute suggestion ou contribution est donc la bienvenue !
Bien à vous,
MM.