SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

274 Plugins, 192 contribs sur SPIP-Zone, 38 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > Bannière défilante > JS Scroller > JS Scroller : Bannière défilante

JS Scroller : Bannière défilante

16 septembre 2010 – par PieroWbmstr – 40 commentaires

9 votes

Le plugin « Javascript Scroller » vous propose d’afficher une bannière défilante présentant vos derniers articles parus, vos dernières brèves ou même un aperçu des documents et images de votre site.

Page de démonstration : http://spip.pierowbmstr.fr/spip.php... (documentation livrée avec le plugin).

Installation

  1. Téléchargez l’archive ’.zip’ de cette page vers le dossier de plugins de votre SPIP
  2. Installez le plugin depuis votre espace privé comme expliqué ici : http://www.spip.net/fr_article3396.html.

Utilisation

Chaque entrée de la liste, selon le type d’élément choisi, présente le titre de l’élément en question, un lien vers sa page ainsi que sa présentation.

Ce widget s’inclut dans vos squelettes en utilisant la balise #JS_SCROLLER :

  1. #JS_SCROLLER{ width , height , type , maximum , coupe, direction , titre }

dont toutes les options sont facultatives (une valeur vide [1] vaudra la valeur par défaut) et correspondent à :

  • width et height : les dimensions du bandeau (par défaut 600 x 20 pixels, hauteur de 100 pixels pour les documents),
  • type : le type d’éléments SPIP présentés : ’articles’, ’breves’, ’sites’, ’rubriques’ ou ’documents’ (par défaut les articles),
  • maximum : le nombre d’entrées affichées (par défaut 50),
  • coupe : le nombre de caractères du texte présenté pour chaque entrée (par défaut 40),
  • direction : la direction du texte sous forme de code ’ltr’ ou ’rtl’ (par défaut ’ltr’ : de gauche à droite) [2],
  • titre : le titre du bandeau.

Concernant le titre du bandeau

La valeur par défaut de l’argument de la balise est ’defaut’, le titre ajouté sera alors construit depuis les chaînes de langues du plugin (chaîne du type « Les 20 derniers articles parus : ») [3]. Si vous voulez un titre vide, indiquez ’non’ pour cet argument [4]. Une valeur vide utilisera le titre par défaut.

Vous pouvez également préciser une chaîne de caractères qui sera utilisée comme titre personnel. Celle-ci sera passée si c’est possible par la fonction de traduction de SPIP : si vous souhaitez utiliser par exemple « <:mon_plugin:ma_chaine :> », indiquez simplement « mon_plugin:ma_chaine ».

Cas des documents

La boucle « documents » du plugin renvoie un bandeau présentant un aperçu des documents images du site (typiquement les documents portant les extensions ’gif’, ’jpg’ et ’png’).

Personnalisation

Styles CSS du bandeau

La balise charge le fichier « js_scroller.css », qui définit les styles CSS du bandeau. Vous pouvez modifier ce fichier selon vos besoins.

Vos propres boucles

Le plugin charge l’un des fichiers XML de son répertoire ’xml/’ [5]. Vous pouvez y ajouter votre propre boucle XML en créant un nouveau fichier dont le nom doit commencer par « scroller_items_ » suivi de l’argument que vous passerez dans l’attribut ’type’ de la balise.

Vos boucles doivent définir un ’item’ par objet comprenant les entrées XML suivantes :
-  « titre » : le titre de l’entrée (obligatoire),
-  « lien » : l’URL du lien créé sur ce titre (obligatoire),
-  « description » : le texte de description ajouté après le titre,
-  « url_doc » : l’URL du document (cas des images - doit être relative),
-  « width » et « height » : la taille du document (cas des images),
-  « typedoc » : le type MIME du document (cas des images - optionnel).

Il est conseillé d’indiquer des URLs relatives.

Par exemple pour lister les logos des brèves de la rubrique 2, créez le fichier « scroller_items_logos_breves.html » dans le répertoire « xml/ » du plugin contenant la boucle :

  1. <BOUCLE_scroller(BREVES) {id_rubrique=2}{par date}{inverse} {pagination #ENV{counter}}>[(#LOGO_BREVE|=={''}|non)
  2.         <item>
  3.                 <titre>[(#TITRE|supprimer_tags|texte_backend)]</titre>
  4.                 <lien>[(#URL_BREVE|texte_backend)]</lien>
  5.                 <description>[(#INTRODUCTION|couper{#ENV{couper}}|texte_backend)]</description>
  6.                 <url_doc>[(#LOGO_BREVE|image_reduire{0,#ENV{height}}|extraire_attribut{src}|texte_backend)]</url_doc>
  7.                 <width>[(#LOGO_BREVE|image_reduire{0,#ENV{height}}|extraire_attribut{width}|texte_backend)]</width>
  8.                 <height>[(#LOGO_BREVE|image_reduire{0,#ENV{height}}|extraire_attribut{height}|texte_backend)]</height>
  9.         </item>
  10. ]</BOUCLE_scroller>

Puis appelez la balise comme ceci [6] :

  1. #JS_SCOLLER{'',100,logos_breves,'','',#LANG_DIR,non}

Tester vos réglages

Vous pouvez tester les différentes options de la balise en éditant le fichier ’contenu/doc_js_scroller.html [7] dans le répertoire du plugin. Il s’agit du squelette de la documentation livrée avec le plugin (n’oubliez pas de recalculer la page après avoir modifié des réglages).

Exemples

Pour créer un bandeau présentant vos documents avec un aperçu de 50 pixels de haut, indiquez :

  1. #JS_SCROLLER{'',50,documents}

Résultat :

PNG - 6.2 ko

Pour créer un bandeau présentant les 20 dernières brèves du site, dont les présentations seront coupées à 100 caractères et dont l’affichage dépendra de la direction de la langue courante :

  1. #JS_SCROLLER{'','',breves,20,100,#LANG_DIR}

Résultat :

PNG - 3 ko

Pour créer un bandeau classique avec un titre personnel :

  1. #JS_SCROLLER{'','','','','','',Mon titre perso}
  2. // pour utiliser une chaîne de langue :
  3. #JS_SCROLLER{'','','','','','',mon_plugin:ma_chaine}
  4. // pour ne pas avoir de titre du tout :
  5. #JS_SCROLLER{'','','','','','',non}

Résultat :

PNG - 2.6 ko

P.-S.

Une version alternative de la balise ne générant pas de liens cliquables mais une simple suite de textes est disponible sur cette page : http://trac.pierowbmstr.fr/p/Plugin....

Notes

[1Pour rappel, chez SPIP une valeur vide dans une balise s’écrit : ’’.

[2Vous pouvez ici utiliser plus simplement la balise SPIP « #LANG_DIR ».

[3Vous pouvez modifier ces valeurs dans les fichiers de langue du répertoire ’lang/’ du plugin.

[4Comme c’est conseillé la plupart du temps, indiquez simplement le mot « non » sans guillemets (ni double ni simple - cf. dernier exemple de cette page)

[5Ou plus généralement de tout répertoire « xml/ » présent dans un répertoire de squelettes.

[6Attention : le plugin cherchera par défaut un titre du type ’titre_bandeau_$type’ dans son fichier de langue, où ’$type’ est l’argument de la balise. Il est donc conseillé de toujours préciser un titre, ou « non » pour un titre vide, dans le cas des boucles personnelles.

[7Différentes propositions d’utilisation de la balise sont mentionnées en commentaire à partir de la ligne 12 du squelette.

Retour en haut de la page

Vos commentaires

  • Le 20 février à 16:44, par Cédric En réponse à : JS Scroller : Bannière défilante

    Bonjour,

    Je débute en spip et je souhaite faire défiler le texte d’un article pour mettre en valeur une information. Si j’ai bien compris ma balise doit être :
    #JS_SCROLLER{'' , '' , article126 }

    Ma question de débutant est tout bête : où dois-je place cette balise ? Ou bien est-ce une balise déjà existante que je dois modifier ?

    Merci par avance !

    Cédric

    Répondre à ce message

  • Le 10 janvier à 13:58, par ? En réponse à : JS Scroller : Bannière défilante

    beuh voila ma balise :
    #JS_SCROLLER",100,documents

    Quand je charge mon site, après 4/5 secondes, le bandeau affiche « les 4 derniers articles ajoutés .... »

    Qqun aurait une idée ?

    • Le 10 janvier à 23:42, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

      Salut «  ? »,

      J’ai besoin de plus d’infos pour répondre clairement :
      -  version de SPIP ?
      -  version du plugin ?
      -  as-tu bien des documents enregistrés (si oui combien et lesquels) ?
      -  tu dis « 4/5 secondes », avant il n’y a rien ? sinon quoi ?

      ... à partir de là, je pourrai te répondre (peut-être ;-).

      PiWi

    Répondre à ce message

  • Le 5 avril 2011 à 17:55, par Locks971 En réponse à : JS Scroller : Bannière défilante

    Bonjour,
    J’ai galéré un moment avant de trouver ce plugin qui répond exactement à ce que je cherchais.
    J’aurais voulu avoir une précision concernant le lien qui semble être obligatoire, mais je voudrais faire défiler sur mon site des infos non cliquables.
    Est il possible de désactiver le lien ?
    Encore merci pour ce plugin !!!

    Répondre à ce message

  • Le 5 avril 2011 à 21:37, par Locks971 En réponse à : JS Scroller : Bannière défilante

    Merci pour la réponse ultra rapide.
    Les explications sont simples et ça marche nickel !
    Et le tout sans aucune connaissance en Php en ce qui me concerne.
    Encore mille merci !!

    Répondre à ce message

  • Le 15 mars 2011 à 14:23, par MM En réponse à : JS Scroller : Bannière défilante

    Autre question, en marge du problème précédent, concernant les valeurs par défaut.

    * en réduisant la longueur d’ « item_separator » est-il possible d’accélérer un peu le défilement des logos des brèves concernées ?

    * la valeur par défaut de « speed » est « 3 » et il est signalé que modifier cette valeur doit se faire avec précaution ! Comment accélérer, un peu le défilement, en faisant varier ce paramètre ? A quoi correspond-il ? Dans le javascript proprement dit, cette valeur est reprise dans la fonction « ieslidew », mais j’avoue ne pas voir comment elle conditionne la vitesse de défilement. Merci d’avance pour un petit peu d’aide.

    • Le 15 mars 2011 à 16:00, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

      Salut,

      la vitesse de défilement est bien la valeur de ’speed’, que l’on peut préciser en 8em argument de la balise (il n’est pas indiqué dans cette documentation).
      Le principe de cette valeur est simple : plus elle est élevée, plus la banderole défile rapidement. Sa valeur par défaut est « 3 » et elle peut prendre n’importe quelle valeur décimale notée avec un point, par exemple « 4.2 ». Vérifiez bien le rendu sur les différents navigateurs, j’ai cru déceler des sautes de défilement sur IE<7.

      La valeur de "item_separator" (9em argument de la balise) n’est que la chaîne HTML de séparation entre chaque entrée de boucle.

    • Le 15 mars 2011 à 16:26, par MM En réponse à : JS Scroller : Bannière défilante

      Merci pour ces compléments.
      Effectivement avec IE ..... il y a des « sautes », même avec IE 8

    Répondre à ce message

  • Le 15 mars 2011 à 13:10, par MM En réponse à : JS Scroller : Bannière défilante

    (Je recopie ici un message envoyé directement à l’auteur. Je le remercie pour sa réponse par retour que je vais ajouter à ce post)

    Bonjour,

    Nous venons d’activer votre plugin sur notre site (www.anpei.org) afin de
    réaliser un badeau circulant des logos de nos annonceurs. Compte tenu de
    la structure de notre site, à chaque changement de page, le script reprend
    la séquence des logos au début. C’est le seul petit incovénient de votre
    superbe développement.
    Voyez-vous comment nous pourrions contourner cela et faire en sorte que de
    pages en pages ce soit l’ensemble de la séquence qui puisse être
    visualisée ?
    Par avance merci

    • Le 15 mars 2011 à 13:12, par MM En réponse à : JS Scroller : Bannière défilante

      (copie de la réponse de l’auteur)
      Bonjour,

      Il n’y a malheureusement, par défaut, pas de moyen de faire suivre le défilement de page en page .... Je vois deux solutions possibles :

      -  déposer un cookie en AJAX à chaque apparition d’image puis reprendre à chaque chargement de nouvelle page (un peu lourd à gérer)
      -  modifier la boucle générant la liste des documents affichés en ajoutant un critère « par hasard » ; cela génèrera une liste dans un ordre aléatoire, ce qui est je pense la meilleure solution.

      Pour cette deuxième solution, je vous renvoie à la section « Personnalisation » de la page de documentation du plugin sur SPIP-Contrib : http://www.spip-contrib.net/?article3570
      Le principe est simple :
      -  faites une copie du fichier « xml/scroller_items_documents.html » (renommez-le par exemple « scroller_items_documents_perso.html »),
      -  ajoutez dans la boucle le critère « par hasard »
      -  puis indiquez le nom de ce nouveau fichier dans la balise JS_SCROLLER.

      En espérant que cela vous aide, n’hésitez pas à me recontacter en cas de problème.

    • Le 15 mars 2011 à 13:17, par MM En réponse à : JS Scroller : Bannière défilante

      Nous avons justement choisi ce plugin pour éviter les effets d’un affichage aléatoire !

      La solution du cookie en AJAX est effectivement assez lourde et nécessite de plonger au coeur du script .... Je vais me creuser les méninges, ou revoir la structure des pages du site (lourd à faire aussi).

      Si quelqu’un à des idées ... merci d’avance

    Répondre à ce message

  • Le 5 janvier 2011 à 23:42, par ? En réponse à : JS Scroller : Bannière défilante

    Merci pour ce plugin très important, j’espère bien l’utiliser dans un site multilangue avec des langue qui s’ecrivent de droite a gauche (je sais que la version actuelle le fait) mais le probleme qui existe c’est que on ne peut pas choisir la langue ( sélectionner une seul langue, parce qu’il l’actuelle plugin défile les articles ou brèves .... dans toute les langue,),
    Donc une autre version pour site multilangue sera très intéressante, avec l’ajout par exemple d’un autre critère pour la langue ( défilement des articles, brèves.... de la langue choisie avec possibilité de ne pas saisie la langue, pour que le plugin affiche le défilement en toute les langue).
    une autre méthode peut réaliser ce que j’espère, c’est d’ajouter le critère de la langue dans la boucle, parce que c’est possible mais je crois qu’un autre balise sera meilleur solution.
    Merci pour ce plugin et bon courage

    Répondre à ce message

  • Le 22 décembre 2010 à 23:08, par christianD. En réponse à : JS Scroller : Bannière défilante

    J’ai trouvé pour l’id_mot. Il faut aller dans le répertoire xml.

    Par contre, je n’arrive pas à enlever le « titre bandeau... ».

    • Le 23 décembre 2010 à 07:25, par christianD. En réponse à : JS Scroller : Bannière défilante

      Encore moi.

      Ca marche bien en local mais en ligne, le titre et le début des articles ou brèves n’apparaissent pas. J’ai juste « titre bandeau... » qui défile.

      Une solution ?

    • Le 23 décembre 2010 à 09:00, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

      Salut Christian,

      je viens de mettre à jour le plugin avec possibilité de modifier le titre dans la balise (version 1.3).

      Pour ton problème d’affichage en ligne, as-tu vidé le cache ? recalculé la page ? Sinon, je ne vois pas ...

    • Le 23 décembre 2010 à 18:40, par christianD. En réponse à : JS Scroller : Bannière défilante

      Salut Piero,

      Je vais tenter la V1.3 et je te tiens au courant. Pour la version en ligne, j’ai tout fait, vidé le cache, recalcul, même enlevé et remis... Je ne vois que « titre bandeau ». J’essaie aussi avec la V1.3.

    • Le 23 décembre 2010 à 20:42, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

      Re-

      je veux bien que tu me tiennes au courant pour le problème d’affichage ... je ne comprends vraiment pas du tout d’où ça peut venir (et ça me tracasse je dois bien l’avouer ;-) ??

    • Le 23 décembre 2010 à 22:33, par christianD. En réponse à : JS Scroller : Bannière défilante

      Piero,

      Pour le titre, si tu mets blanc, il reprend le titre par défaut. Pour que ça défile sans rien du tout devant, il faut mettre le signe « underscore », le souligné.

      #JS_SCROLLER 982 , 20 , articles , 10 , 100 , ltr , _

      Je n’ai touché à rien d’autre et pourtant en local, le titre apparait bien mais pas la suite du texte. Je comprends pas. J’ai pourtant effacé tout le répertoire, ré-installé... Je n’ai pas la suite de l’article, coupé à 100.

      Pour le site en ligne, c’est comme si rien n’était présent. Comme j’ai mis le signe « underscore », je ne vois pas le début du défilement, mais je ne vois pas non plus le titre. On voit pourtant bien le border de ton plugin et que j’ai laissé. Le site est là http://www.asso-scooter.org/

    • Le 24 décembre 2010 à 00:57, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

      ReRe-

      Tu as tout à fait raison pour le titre, erreur de ma part en faisant la doc : en fait il faut indiquer ’non’ en dernier argument de balise pour ne pas avoir de titre.

      Par contre je n’ai pas vu le scroller sur ton site (j’ai fait un peu toutes les pages et pas de scroller, et la page de doc « js_scroller_documentation » est introuvable ??). Tu l’as désinstallé ?

      Mais, j’ai pu voir que ta page d’accueil avait une belle erreur de code : deux fermetures de boucles qui ne doivent pas être ouvertes (cf. image jointe ;-)

      PNG - 16.2 ko
    • Le 24 décembre 2010 à 07:34, par ? En réponse à : JS Scroller : Bannière défilante

      Oui, je l’ai désinstallé car en l’état, le scroller génère une erreur qui bloque les pages. Je pensais te l’avoir envoyé mais apparemment, mon message n’est pas parti.

      Merci pour les fermetures de boucles, je vais regarder ce soir. Oups, pas ce soir. Demain :-).

    • Le 24 décembre 2010 à 08:41, par christianD. En réponse à : JS Scroller : Bannière défilante

      Finalement, corrigé les fermetures de boucles ce matin.

      Je vais essayer de te générer ce soir l’erreur que j’ai sur le site.

    • Le 24 décembre 2010 à 15:42, par christianD. En réponse à : JS Scroller : Bannière défilante

      Bonjour Piero,

      CA MARCHE !!!

      Un grand merci pour tout et Joyeux Noël !

    Répondre à ce message

  • Le 22 décembre 2010 à 18:29, par christianD. En réponse à : JS Scroller : Bannière défilante

    Bonjour,

    Super plugin et qui fonctionne parfaitement sous spip 2.1.2.

    Juste une question. J’aurai voulu qu’il fonctionne pour les articles et les brèves contenant un mot clé spécifique, id_mot=xx .

    On peut le faire ?

    Répondre à ce message

  • Le 8 octobre 2010 à 07:28, par ? En réponse à : JS Scroller : Bannière défilante

    bonjour,
    Et pour les langue qui s’écrient de droite a gauche, comment changer la direction du deffilement.

    • Le 18 novembre 2010 à 18:23, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

      Question intéressante !

      J’ai ajouté l’argument ’direction’ à la balise ... ’Suffit de demander ;-)

      Le zip de cette page est mis à jour (version du plugin 1.2).

      - non testé sur Internet Explorer
      -  OK sur Opéra, Safari et Firefox

    • Le 5 décembre 2010 à 22:57, par ? En réponse à : JS Scroller : Bannière défilante

      Merci infiniment.
      je vais le tester et vous répondre s’il existe des bugs ou non.

    • Le 8 décembre 2010 à 00:52, par ? En réponse à : JS Scroller : Bannière défilante

      Fatal error : Call to undefined function js_scroller_get_js() in /home/dinebout/public_html/pwwo/plugins/js_scroller/js_scroller/balise/js_scroller.php on line 51

      je ne sais pourkoi il me donne cette erreur et la barre n’apparait pas, et cela quand je change a une langue rtl comme l’arabe.

    • Le 8 décembre 2010 à 00:54, par ? En réponse à : JS Scroller : Bannière défilante

      j’ajoute la ligne de mon code
      #JS_SCROLLER600,20,articles,20,40,#LANG_DIR

    • Le 8 décembre 2010 à 17:28, par PieroWbmstr En réponse à : JS Scroller : Bannière défilante

       ?? je ne vois pas du tout d’où peut venir cette erreur ... elle signifie que SPIP ne charge pas le fichier de fonctions du plugin.
      Quelle version de SPIP sur le site ?

      Solution d’appoint
      Dans le fichier « js_scroller/balise/js_scroller.php », après la ligne 16 :

      1. function balise_js_scroller_dyn($width='600', $height='20', $type='articles', $max='50', $cut='40', $dir='ltr') {        // (ligne 16)

      ajouter la ligne suivante :

      1. include_spip('js_scroller_fonctions');        // (nouvelle ligne 17)

      Pour rappel, les fichiers PHP peuvent s’éditer avec n’importe quel utilitaire de texte type bloc-note (tout système d’exploitation en a un par défaut qui suffit amplement - ne pas changer l’encodage si c’est proposé).

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Vidéo Accessible

    6 avril 2011 – 78 commentaires

    Un plugin pour faciliter la diffusion de vidéos accessibles. Accessibilité des vidéos Accessibilité de la vidéo Afin d’être pleinement accessible, une vidéo (composée d’images et de sons) doit répondre à plusieurs critères. Le critère de base est de (...)

  • Le Couteau Suisse

    4 mai 2007 – 1354 commentaires

    Ce plugin propose d’introduire facilement de simples fonctionnalités supplémentaires à SPIP et qui s’avèrent rapidement indispensables ! Par exemple : le contrôle de nombreuses variables « cachées » de SPIP, des améliorations ou facilités typographiques, (...)

  • MediaBox

    10 mai 2010 – 194 commentaires

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Squirrels Love Chimps

    14 février – commentaires

    Squirrels Love Chimps met à disposition une série de 4 plugins pour connecter votre SPIP avec le service d’emailing MailChimp MailChimp, qu’est-ce que c’est ? Mailchimp est un outil d’emailing ou, dans dans la langue de Molière, « un service d’envoi (...)

  • SPIP Zen Garden

    12 novembre 2009 – 134 commentaires

    Le plugin Zen Garden, ou Jardin Zen, vous permet de gérer une galerie de thèmes pour votre site, et de changer très facilement de thèmes parmi les thèmes disponibles. Pré-requis Le jardin Zen nécessite d’utiliser un squelette comme le squelette Zpip (...)