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 by date of activity
32 discussions
En mettant à jour mon spip et mes plugins, je rencontre des problèmes avec ce plugin et le plugin agenda. Lorsque je crée un événement, impossible de créer des répétitions.
Salut, quelle version de SPIP ? Quelles versions des plugins en questions ?
As-tu réellement besoin du plugin jQuery UI, son usage dans SPIP étant déprécié, tu peux peut-être le désactiver à moins qu’un de tes plugins le nécessite.
Version Agenda : 5.1.1
Version Jquery : 1.15.5
Spip : 4.3.5
J’ai besoin de Jquery pour le plugin Prix Objets (v3.3.0)
Oui j’en ai besoin pour le plugin Prix Objet.
Plugin jquery : 1.15.5
Plugin prix objet : 3.3.0
Plugin agenda : 5.1.0
Je viens de tester sur un SPIP 4.3.5 tout frais, avec les plugins jqueryui & agenda dans les mêmes versions, aucune erreur lors de la création d’un événement avec des répétitions.
Zut. Ca ne fonctionne toujours pas sur mon site.
Si je desactive le plugin prix_objet, c’est OK. Est-ce que le problème peut venir de la version PHP ?
> Si je desactive le plugin prix_objet, c’est OK
Alors le problème est peut-être dans ce plugin...
Le plugin prix_objet necessite le plugin jquery.
Si je désactive Jquery UI, je peux créer des événements et des répétitions. Dans le cas contraire, il y a un bug.
sans ce plugin activé, aucun problème pour ajouter des répétitions à un événement
cf : https://drive.google.com/file/d/15qJBub-B24lR7Z-6J1nJxF2U8MU5kYuz/view?usp=drive_link
en activant ce plugin, cela ne fonctionne plus
Je me répète, mais aucune erreur de mon côté; D’où sort le code que tu cites dans ton premier message ? Je vois que ça vient de là https://search.spip.net/git.spip.net/spip/prive/-/blob/javascript/jquery.js?L330:34
Reply to this message
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 ?
Reply to this 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.
Reply to this 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
Reply to this message
merci pour ta reponse je suis nouveau dans spip tu peut m aide en PV ibrabiga@gmail.com merci et Bonne soirée
Reply to this 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 :
++
Reply to this 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!
Reply to this 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
++
Reply to this 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)
Reply to this 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
Reply to this message
Add a comment
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.
Follow the comments:
|
