Introduction
De plus en plus de plugins intègrent dans leurs fichiers des morceaux de la bibliothèque jQuery UI et ce dans des versions plus ou moins à jour imposant ainsi de temps à autre plusieurs versions de cette bibliothèque en fonction du nombre de plugins installés sur un site (voir désormais jQuery UI pour SPIP 3).
Afin de pallier ce problème, deux solutions sont possibles :
- L’ajout de la bibliothèque en question dans le core de SPIP (très certainement dans une prochaine version)
- La création d’un méta plugin s’occupant de gérer correctement cette bibliothèque et sur lequel l’ensemble des plugins ayant besoin d’une partie de celle-ci puisse se reposer. C’est l’objet du plugin « jQuery UI pour SPIP ».
Historique
Le plugin jQuery UI a été développé en tant que plugin pour SPIP 2
Il a été intégré comme plugin-dist dans SPIP 3
A partir de SPIP 4 c’est de nouveau un plugin autonome
Son fonctionnement
Après l’avoir activé, vous pouvez personnaliser le plugin via sa page de configuration (disponible si vous avez installé le plugin CFG). Celle-ci liste l’ensemble des sous-bibliothèques disponibles (droppable, draggable, tabs....).
Il vous suffit de sélectionner celles dont vous avez besoin et elles seront automatiquement ajoutées au pipeline jquery_plugins
de SPIP (plus d’informations sur le site Programmer avec SPIP) qui est lui même utilisé par la balise #INSERT_HEAD
(Cela signifie donc que vos squelettes doivent utiliser cette balise pour que le plugin fonctionne).
Dans le cas où vous souhaitez utiliser une sous-bibliothèque qui dépend d’autres sous-bibliothèques de jQuery UI (comme Tabs par exemple), les dépendances seront automatiquement sélectionnées à la validation du formulaire de configuration. Il n’est donc pas nécessaire de les vérifier.
Utilisation depuis un autre plugin
Si vous souhaitez développer un plugin qui nécessite une ou plusieurs sous-bibliothèques de jQuery UI, la démarche est relativement simple.
Tout d’abord, il est nécessaire d’ajouter un élément <necessite ... />
à votre plugin.xml
(cf documentation) comme ceci :
<necessite id="jqueryui" version="[1.8.5;]" />
Ensuite, le plugin SPIP jQuery UI déclarant son propre pipeline d’ajout de sous-bibliothèques, jqueryui_forcer
, il suffit d’ajouter les sous-bibliothèque que l’on souhaite utiliser comme ceci (dans l’exemple, on utilise monplugin
comme préfixe de notre plugin imaginaire, on souhaite utiliser la sous-bibliothèque jquery.ui.tabs
) :
function monplugin_jqueryui_forcer($scripts){
$scripts[] = "jquery.ui.tabs";
return $scripts;
}
La sous-bibliothèque « tabs » nécessite en fait deux autres sous-bibliothèque normalement :
-
jquery.ui.core
-
jquery.ui.widget
Il n’est donc pas nécessaire de les déclarer car le plugin le fera automatiquement.
Si après avoir activé notre nouveau plugin on se dirige vers la page de configuration du plugin jQuery UI, on se rend compte que les 3 sous-bibliothèques activées par le plugin « monplugin » sont cochées et non désactivables, évitant ainsi tout problème potentiel de désactivation manuelle d’une sous-bibliothèque.
Liste des sous-bibliothèques disponibles
Documentation et démonstrations : http://jqueryui.com/demos/
SPIP 2.1 | SPIP 2.0 |
---|---|
jquery.ui.datepicker
jquery.ui.accordion jquery.ui.autocomplete jquery.ui.autocomplete jquery.ui.button jquery.ui.dialog jquery.ui.dialog jquery.ui.draggable jquery.ui.droppable jquery.ui.droppable jquery.ui.mouse jquery.ui.progressbar jquery.ui.resizable jquery.ui.selectable jquery.ui.slider jquery.ui.sortable jquery.ui.tabs jquery.effects.blind jquery.effects.bounce jquery.effects.clip jquery.effects.drop jquery.effects.explode jquery.effects.fold jquery.effects.highlight jquery.effects.pulsate jquery.effects.scale jquery.effects.shake jquery.effects.slide jquery.effects.transfer |
ui.accordion
ui.datepicker ui.dialog ui.dialog ui.dialog ui.draggable ui.droppable ui.droppable ui.resizable ui.selectable ui.slider ui.sortable ui.tabs effects.blind effects.bounce effects.clip effects.drop effects.explode effects.fold effects.highlight effects.pulsate effects.scale effects.shake effects.slide effects.transfer |
Discussions par date d’activité
31 discussions
Bonjour,
Dans la version jQuery UI 1.15.2 il y a l’appel suivant en ligne 45 et 59 du fichier jqueryui_pipelines.php
Néanmoins, le fichier jquery-ui.css n’existe pas dans le dossier « css/ui » du plugin, il n’y a que le fichier jquery-ui-structure.css.
Serait-il possible de l’ajouter ?
Répondre à ce message
Bonjour,
Pour info, la version 1.15.1 ne fonctionne pas avec Spip 4.0.8, il faut prendre la 1.14.3.
De plus, elle n’est pas proposée dans l’ajout de plugins depuis l’espace privé.
Est-ce normal ?
> Pour info, la version 1.15.1 ne fonctionne pas avec Spip 4.0.8, il faut prendre la 1.14.3.
C’est bien ce qui est prévu cf https://git.spip.net/spip/jquery_ui/src/branch/1.14/paquet.xml
> De plus, elle n’est pas proposée dans l’ajout de plugins depuis l’espace privé.
Oui, ce plugin fait partie des plugins du core, il est disponible dans le dépôt dédié https://files.spip.org/core/archives.xml cf https://plugins.spip.net/spip.php?page=depots
Merci pour l’info.
En fait, ma remarque vient du fait que lors de l’activation du « Sélecteur générique »
Sélecteur générique avec autocomplétion
il indique qu’il faut JQueryUI, mais il ne propose pas de l’installer.
Il faut donc ajouter le dépôt
https://files.spip.org/core/archives.xml
pour qu’il soit proposé ?
> Il faut donc ajouter le dépôt https://files.spip.org/core/archives.xml pour qu’il soit proposé ?
Oui :)
Merci b_b
Je viens de le faire et il me propose la mise à jour
Une mise à jour fonctionnelle est disponible (1.15.1).
Étant avec un Spip 4.0.8, cela ne devrait pas être le cas.
Répondre à ce message
Bonjour Bonsoir Bonjoir !
Impossible de déplacer des éléments dans les formulaires par glisser / déposer, que ce soit avec formidable ou champs extra sur une version 3.1.6 de SPIP. Cela dépend visiblement de jQuery Ui bien présent dans plugins-dist donc je poste ici au moins dans un premier temps.
Test en désactivant tous les plugins utilisés et en activant seulement Formidable : même résultat. Tous mes plugins sont à jour... suis-je le seul à rencontrer ce défaut ou d’autres victimes ? :)
Merci d’avance
Répondre à ce message
merci pour ta reponse je suis nouveau dans spip tu peut m aide en PV ibrabiga@gmail.com merci et Bonne soirée
Répondre à ce message
salut comment utilise jquery pour mon site spip sans utiliser un plugin ,
ca fait plus d’un mois que je cherche la solution merci
Salut, tout simplement en suivant les instructions de la partie Déclaration hors plugin
de cette documentation :
http://programmer.spip.net/Qu-est-ce-qu-un-pipeline
++
donc je dois cree un plugin.xml pour ca
Non, cf :
++
Répondre à ce message
Hello.
Pourquoi le plugin SAISIE est-il obligatoire/nécessaire au fonctionnement de ce plugin jQuery UI ?
Le problème est que si j’installe le plugin Saisies pour formulaires, le plugin Bonux pose problème et bloque complètement le site (page blanche et message d’erreur suivant :
Merci d’avance pour l’aide.
Cdt.
À ce que je lis, je crois deviner que tu utilises SPIP 3 et donc tu n’as pas besoin du plugin jQuery UI car il est intégré dans le core à partir de cette version (cf le bloc Compatibilité bien visible en haut de cette page ^^).
Ah non, Spip 2 toujours. On ne souhaite pas passer à la v.3 pour le moment.
Quelle version de SPIP utilises-tu exactement ?
Aucune trace de fichier prive/formulaires/selecteur/generique_fonctions.php dans le core de SPIP 2.0 ou 2.1 (ni même sur la zone) :
http://core.spip.org/projects/spip/repository/show/branches/spip-2.1/prive/formulaires
http://core.spip.org/projects/spip/repository/show/branches/spip-2.0/prive/formulaires
Par contre, ce fichier est bien présent dans SPIP 3 :
http://core.spip.org/projects/spip/repository/entry/branches/spip-3.0/prive/formulaires/selecteur/generique_fonctions.php
Du coup, j’ai comme un doute quand tu me dis que le site est en SPIP 2 :) Vous auriez pas déposé un zip de SPIP 3 par erreur lors d’une dernière mise à jour ?
SPIP 2.1.23 [20601]
Et quelle est l’url du site ?
www.reiso.org
Merci !
Répondre à ce message
Bonjour,
je voudrais savoir comment installer le plug in easytabs http://os.alfajango.com/easytabs/
dans spip.
j’ai tenté d’intégrer ça à travers un pipeline, dans un fichier mes_options.php mais ça ne semble pas fonctionner.
Bien compliqué d’appeler un script jquery sous spip…
Merci pour votre aide !
Salut, en fait ta question n’a pas de rapport avec jQuery UI et donc le plugin présenté ici.
Il faut que tu regardes du côté du pipeline insert_head pour insérer des scripts persos dans le head de tes pages :
http://programmer.spip.net/insert_head
++
Répondre à ce message
« jQuery UI pour SPIP » est nécessaire pour « Formidable, le générateur de formulaires » ainsi que : « Bonux », « Saisies », « Vérifier », « YAML », et « Facteur ».
Mais il n’est compatique que pour SPIP 2.0 et SPIP 2.1…
Pas (encore ?) pour SPIP 3.0…
Est-ce un oubli ou une lacune ?
le plugin est installé par défaut avec SPIP 3 (dans plugins-dist)
Répondre à ce message
Bonsoir,
la version en téléchargement ici pour SPIP 2.1 semble être une version SPIP 3, avec un paquet.xml et un compatibilite=« [3.0.0 ;3.0.*] » !
Est-ce que ça ne devrait pas être un zip de la version http://zone.spip.org/trac/spip-zone/browser/_plugins_/jquery_ui ??
Julien
Bonjour,
En effet, je n’arrive pas à installer le plugin sur une version SPIP 2.1.
La version contenue dans le zip est une version 1.8.21 et non 1.8.19 comme le laisse indiquer le lien.
Est-il possible de récupérer quelque part une archive compatible avec SPIP 2.1 ?
Merci d’avance,
Marc
Salut, je viens de changer le nom du zip en attendant mieux :
http://zone.spip.org/trac/spip-zone/changeset/73274
++
C’est parfait !
merci.
Julien
Répondre à ce message
Hello ici !
J’ai une merdouille sur un site où je cherche à utiliser .tabs. en me basant sur l’exemple suivant seulement Firebug semble ne pas l’entendre de cette oreille :
J’ai d’abord pensé à un oubli de ma part dans la mesure où c’est un des widget qui a besoin d’une sous bibliothèque pour fonctionner MAIS :
<script type="text/javascript" src="#CHEMIN{javascript/jquery-ui/ui/jquery.ui.tabs.js}"></script>
) ne solutionne pas le problème.Une idée les gens ?
Merci d’avance et bonne année à tous !
Ok, PEBKAC !
en fait, l’appel se fait par
<script type="text/javascript" src="#CHEMIN{javascript/ui/jquery.ui.tabs.js}"></script>
je ne sais pas d’où vient ce /ui/jquery-ui que j’ai pourtant bien vu sur http://zone.spip.org/trac/spip-zone/browser/_plugins_/jquery_ui/javascript , le fait est que chez moi ce sous-dossier jquery-ui n’existe pas, bien que je sois pourtant sur la branche spip-3... bref ... :-$
En SPIP 3 jquery_ui est dans le core.
Il n’a plus d’interface de conf pour ne pas encombrer car un squelette ou plugin le nécessitant pour fonction devrait passer par le pipeline adéquat
jqueryui_plugins
ici : http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/jquery_ui/jqueryui_pipelines.php#L14Le chemin que tu cites est dans les plugins-dist du core. Dans le paquet.xml il y a
<chemin path="prive" />
qui prend prive comme si c’était un chemin du path donc les fichiers en question sont dansprive/javascript/ui/...
Voila
Effectivement, tout s’éclaire d’un coup ! Merci Kent1 :)
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |