jQuery UI

Ceci est une « contribution pédagogique », qui montre par l’exemple comment développer une nouvelle fonctionnalité pour SPIP.

Cette contribution est la continuité de jQuery UI pour SPIP mais pour SPIP 3.

Depuis SPIP3, jQuery UI est embarqué par défaut. Le plus grand changement est qu’il n’y a plus d’interface graphique dans l’espace privé pour activer des modules.

Comment faire :

Pour notre exemple, nous voulons activer datepicker ainsi que la traduction française (c’est aussi présent par défaut !!)

Méthode 1 : dans le fichier mes_options.php

Ce fichier se trouve dans le répertoire config. S’il n’y est pas, il faut le créer.
il suffit de rajouter ces lignes :

<?php
$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
   $jqueryui_plugins[] = "jquery.ui.datepicker";
   $jqueryui_plugins[] = "i18n/jquery.ui.datepicker-fr";
   return $jqueryui_plugins ;
}
?>

Méthode 2 : Pour un plugin

  1. Dans le fichier paquet.xml, rajouter la déclaration au pipeline jqueryui-plugins
    1. <pipeline nom="jqueryui_plugins" inclure="prefix_pipelines.php" />
  1. Dans notre fichier prefix_pipelines.php, déclarons nos 2 modules
    function prefix_jqueryui_plugins($scripts){
       $scripts[] = "jquery.ui.datepicker";
       $scripts[] = "i18n/jquery.ui.datepicker-fr";
       return $scripts;
    }

Dernière modification de cette page le 27 juin 2012

Discussion

2 discussions

  • 2
    Webmaster Ayn

    Bonjour,

    Malgré mes recherches sur nénette, je ne trouve pas solution à mon souci.

    Depuis la mise à jour vers Spip 3.1.3, j’ai des soucis que je crois liés à des dysfonctionnement de JQueryUI :
    -  les diaporamas ne fonctionnement plus, ni en privé, ni en public (exemple)
    -  dans les formulaires, certains « gadgets » fonctionnement en privé, mais pas en public (calendrier pour choisir un date, blocs dépliables conditionnés par des réponses à certaines questions), d’autres ni en privé ni en public (blocs déplaçables en cliquer-glisser) (exemple)

    Il y a peut-être d’autres dysfonctionnements que je n’ai pas encore repérés.

    Ai-je raison d’attribuer ça à JQueryUI ?
    Et si oui, ben comment que je fais pour que tout refonctionne ?

    Merci pour vos lumières :)

    • Bonjour,

      Tout les plugins sont à jour ?
      Le cache et local on été vider suite à la mise à jour de spip ?

    • Webmaster Ayn

      Bonjour,

      Oui oui.
      J’ai refait une « vidange » par acquit de conscience, mais ça n’a pas réglé les problèmes.

    Répondre à ce message

  • 1

    Bonjour,

    En SPIP 3.1.1, c’est ceci qu’il faut mettre :

    1. $jqueryui_plugins[] = "jquery.ui.i18n/datepicker-fr";
    • Pierroy

      Bonjour,

      J’essaie d’utiliser les effets bounce et scale :

      $GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
      function insert_jqueryui($jqueryui_plugins) {
          $jqueryui_plugins[] = "jquery.ui.core" ;
          $jqueryui_plugins[] = "jquery.effects.core" ;
          $jqueryui_plugins[] = "jquery.effects.scale" ;
          $jqueryui_plugins[] = "jquery.effects.bounce" ;
          return $jqueryui_plugins ;
      }

      J’ai le sentiment que je n’ai pas la bonne syntaxe ... je vois que vous avez trouvé pour i18n ... une idée ?

      Pierre

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom