Balises Bloc deplier/replier (plugin)

Balises pour deplier/replier un bloc d’info, comme dans l’espace privé.

DEREBLOC, Plugin pour spip 1.9.x/2.x, proposant 3 balises pour créer des blocs d’information, lignes de tables, à déplier/replier ; comme dans l’espace privé.

Les trois balises suivantes, qui s’utilisent toujours en « trio » et dans cet ordre :

#BOUTON_BLOCK , #DEBUT_BLOCK , #FIN_BLOCK

vont vous permettre d’afficher, ou plutôt, dissimuler dans vos pages des blocs d’infos, lignes de tables qui se « déplient » et se « replient », avec le « petit triangle » de dépliement, comme dans de nombreux blocs de l’Espace Privé.

L’usage en est fort simple !
Vous pouvez en placer plusieurs dans un squelette, sans qu’il y ait de liens entre chaque « trio ».

Installation

1. le plugin.
Comme pour toute installation de plugin dans Spip 1.9, placez le contenu de l’archive jointe : derebloc-0_2.zip, dans le répertoire plugins/ de SPIP.
plugins/derebloc/

2. Activation
Dans le backoffice, page Gestion des Plugins, activez :
Deplier-Replier Blocks.

Squelettes

L’entête de vos squelettes doivent, bien-sûr, contenir la Balise #INSERT_HEAD (voir Documentation de SPIP) :

<head>
...
...
#INSERT_HEAD
</head>
<body>
...

Dans le code de vos squelettes, insérer le « trio » de balises autour des éléments à déplier/replier.
Exemple :

<B_art>
#BOUTON_BLOCK -- Des articles<br />
#DEBUT_BLOCK
<BOUCLE_art(...){...}>
[(#TITRE)] - [(#DATE|affdate)]
</BOUCLE_art>
#FIN_BLOCK
</B_art>

... autre exemple sur un tableau :

<B_tout>
<table width="500" cellpadding="0" callspacing="0" border="0">
<tr>
<th></th>
<th>col-1</th>
<th>col-2</th>
<th>col-3</th>
</tr>                       
<BOUCLE_tout(...){...}>
<tr>
<td width="3%">#BOUTON_BLOCK</td>
<td>.. blabla ..</td>
<td> .. blabla ..</td>
<td>.. blabla ..</td>
</tr>
<tr><td colspan="4">
#DEBUT_BLOCK
... les infos du " Block cacher à déplier " ...
#FIN_BLOCK
</td></tr>
</BOUCLE_tout>
</table>
</B_tout>

Infos ... spip 2.x - sept 09

Version 0.4, par E. Sarda, pour spip 2.x ! La balise bouton_block peut recevoir un tire en argument.

Infos ... 1.9.2 - 17/04/2007

La version 0.3 se voit modifiée pour aller chercher le fichier layer.js au bon endroit.

Infos ... 1.9.1

Le plugin fournis la définition des trois balises en surcharge à mes_fonctions, et, écris dans le <head> </head> l’appel du fichier ecrire/img_pack/layer.js .

Discussion

20 discussions

  • 1
    Thibaud

    Le plugin doit être super. Je viens d’installer la version 1.9.2 de Spip et j’avoue mon incompétence pour intervenir sur les squelettes dist du site. JPouvez vous m’éclairer ? ou mieux, fournir l’accés à une page article du dossier dist ?
    Merci d’avance.

    • Euh...comment dire... ben il vaut mieux 6 mois de retard à l’allumage que pas d’allumage du tout hein ?

      — > http://forum.spip.org/fr_rubrique19... (forums de spip, voir rubrique créer ses squelettes)
      — > http://fraichdist.online.fr (site de test un peu ancien maintenant mais où notre chère Romy a publié 2 ou 3 méthodes permettant de faire joujou avec les dist par défaut en ne touchant que les css.)

      Voila. Je sais pas si ca te sera encore utile, ni même si tu auras ce message mais bon, on sait jamais, d’autres pourraeint être intéressés...

    Répondre à ce message

  • 19
    Thibaud

    Le plugin doit être super. Je viens d’installer la version 1.9.2 de Spip et j’avoue mon incompétence pour intervenir sur les squelettes dist du site. Pouvez vous m’éclairer ? ou mieux, fournir l’accés à une page article du dossier dist ?
    Merci d’avance.

    • chez moi en 1.9.2 ca ne fonctionne pas non plus..

    • Est-ce qu’on a une idée de la où ca coince ?

      ca doit pouvoir évoluer ; le plugin n’est constitué que de 3 fichiers.

      Un pro pourrait nous donner un petit coup de main pour le rendre compatible avec spip 1.9.2 ?

    • en fait, ca fonctionne chez moi avec SPIP 1.9.2 dans Firefox, mais ca bug pour l’instant dans IE6.

    • L’Oiseau2nuit (ancienement Zzz.)

      Hello :)

      Pourrais tu me dire comment tu as fait pour que cela fonctionne ? Car chez moi, même sous Fifox ça ne tourne toujours pas

      Merci

    • JE n’ai rien fait de spécial... Ca marche automatiquement. Et ca marche aussi avec IE6 mais ca foire quand je mets des boucles à l’intérieur des balises du plugin. J’utilise le squelette FP partenaire avec spip 1.9.2.

    • Bonsoir à tous,
      Je viens de corriger et déposer une version pour spip 1.9.2.
      Info ... permet de retrouver le fichier layer.js. (fichier déplacé avec 1.9.2). ceux qui avaient gardé l’ancien ecrire/img_pack/ (jusqu’à 1.9.1) devaient s’y retrouver !!

    • merci à toi pour cette mise à jour ;-)

    • Loiseau2nuit (ex-Zzz.)

      Yehaaa ! Scoty 4 President !!! :D

      Merci à toi ;)

    • Loiseau2nuit (ex-Zzz.)

      Oops ! J’ai parlé un peu vite ! Je viens d’installer la version corrigée mais même après plusieurs tentative de recalcul, vidage de cache etc... mon #BOUTON_BLOC refuse d’apparaitre et mes forums sont toujours complètement dépliés.

      Désolé camarade, mais je vais peut être voter pour quelqu’un d’autre finalement :P ;)

      Nan, plus sérieusement, quelqu’un a une idée ou pas ?

      Merci d’avance.

    • Loiseau2nuit (aka Zzz. dans une vie virtuelle antérieure)

      Bin tiens :D Si ca c’est pas de la pub, moi je suis le Dalahilama :D

      N’empèche que j’ai réussi à le placer chez quelques potes ton couteau Suisse et ils en sont tous content :)

    • Tiens salut,

      Je m’attendais pas à avoir de tes nouvelles si tôt ;-)

      Disons que bcp de problèmes sont régulièrement posés sur ce plugin qu’il fallait mettre à jour. Je l’aurais fait volontiers, mais l’utilisation traditionnelle des triangles de SPIP avec ce fichu fichier layers.js (prévu que pour la partie privée à l’origine...) me parait une mauvaise idée et surtout lourde et un peu arriérée, maintenant qu’on a jQueryet qu’on peut l’utiliser directement.

      Voila pkoi j’ai créé une nouvelle lame, sur de nouvelles bases bien plus saines et modernes, un code très court et ne dépendant plus des différentes mises à jour de SPIP (le Couteau Suisse est censé être compatible avec toutes les versions de SPIP 1.9)

      Si ca c’est pas de la pub, moi je suis le Dalahilama :D

      Euh... Ce n’est pas mon avis car tout mon code est gratuit et je n’en tire aucun intérêt !! Enfin si, merci de ton soutien qd même ;-)

      Bon, le forum de ce plugin est surveillé, et l’auteur peut gérer les messages qu’il trouve constructifs ou non... Scoty, si tu m’écoutes, tu peux faire le ménage, je serai pas vexé ;-)

    • Euh... moi j’ai la flemme de copier/coller ce que j’ai déjà répondu à Pat par email d’autant qu’on était un poil hors sujet alors... :P

      Par contre, Scotty si tu cherches toujours un repreneur pour le support de ta contrib, PAt et toi va faloir que vous discutiez.

      Enfin moi j’dis ca j’dis rien hein ! :D

    • Salut à tous,
      Ne suis ni vexé ... ni ne prend ombrage d’une éventuelle autre solution à DEREBLOC, bien au contraire. Comme dit y’a un bail, avec jquery ce serait mieux ... alors hop DEREBLOC aux oubliettes.

      Au passage si la nouvelle « lame » peut répondre à certaines demandes formulées ici et ailleurs, je serai le premier à me jeter dessus comme la pauvreté sur le monde ! ;-)
      Et dès que possible j’essaye cette lame. Pis on voit pour la suite à donner !

    • Dont acte.

      Ce qui reste toujours vrai, c’est qu’un plugin peut exister en dehors du Couteau Suisse. Du coup, si l’usage de cette nouvelle lame te parait valable, je px aider un peu à ce que DEREBLOC mute en jQuery et lui faire profiter des fonctionnalités que j’ai mises dans mon plugin.

    • Ouep là je suis assez d’accord avec Pat. Une lame est une lame, l’outil à part entière en est une autre. Perso sur un couteau Suisse à 50 lames, si seulement 3 me sont utiles je préfère encore installer les 3 outils indépendament, d’où l’intérêt de conserver les contribution telle qu’elles.

      Ceci dit, quand j’ai lancé ce que j’ai faill prendre pour un troll au vue des réponses, était une réflexion à un de tes messages, scotty, posté il y a de cela plusieurs mois où tu indiquait plus ou moins chercher un repreneur. Mais qu’on ne s’y méprenne pas, si tu continues je serai content aussi.

      La communauté compte un bon petit noyau de développeur bénévoles qui pour certains touchent quand même pas mal leurs billes, il s’agit pas de tous les laisser filer non plus, non mais oh ! Et puis assez jacassé ! Allez au boulot vous 2 ! :P

      Loiseau2nuit, toujours pour la paix des ménages :D

    • Waaarf ... et n’oubliez pas jeunes gens que les trolls cachent de l’or et pierres précieux sous leur pont et dans leur caleçon (molletonné en cette saison) ... euh .. ben quoi ? hu hu !

      En Off, j’ai renvoyer la balle à Pat ... Que de pression sur ses épaules ! Prions !

    • Moi je sais jamais reconnaitre les trolls !

      Mais je joue volontiers au ping-pong avec Scoty ;-)

    • C’est facile, les trolls, c’est gros comme une maison et ça pue ! :P

      Pour l’or, perso, je préfère les dragons ! En plus ya plus à manger !!! :evil :

      Loiseau2nuit, qui joue aussi à Warhammer par intérim...

    Répondre à ce message

  • 2

    Bonjour,

    j’ai essayé d’appliquer le plugin au contenu d’un article mais ca ne marche pas.

    L’idée c’est d’essayer de faire une sorte de sommaire dépliable.

    Possible ou pas ?

    • Up.

      Comment adapter ce plugin pour le rentre efficace dans un article ?

      merci !

      Ou bien y a t il d’autres manieres de faire pour plier/déplier un bloc d’infos dans un article spip ?

      merci !

    • si c’est toujours d’actualité, oui !

      (voir les forums plus bas...)

    Répondre à ce message

  • 1
    rzawutang44

    Salut

    Ce code là ne fonctionne pas avec spip 1.9.2
    J’ai peut-être fait un erreur en placant les balises, pourtant j’ai essayé plein de choses :)
    Par défaut, je veux que la ligne contenant la liste déroulante ne s’affiche pas.

    <form action="xxxxxx" method="post" name="mon_truc" id="on_verra">
    		<table style="width: 90%; border-collapse: collapse;" border="1">
    		   <tr>
    		        <td>Nom</td>
    			<td><input name="nom" type="text" class="fields" value="" /></td>
    		   </tr>
    		   <tr>
    			<td>Pr&eacute;nom</td>
    			<td><input name="prenom" type="text" class="fields" value="" /></td>
    		   <tr>
    			<td colspan="2">
    			#BOUTON_BLOCK
    			Recherche avanc&eacute;e
    			</td>
    		   </tr>
    		   #DEBUT_BLOCK
    		   <tr>
    			<td>
    			listedéroulante
    			</td>
    			<td>
    			<select name="clsmnt"><option value="">test1</option><optionvalue="">test2</option></select>
    			</td>
    		   </tr>
    		#FIN_BLOCK
    		</table>
    		<input name="submit" type="submit" class="go" value="Ok" />
    	</form>

    Merci.

    • Revois la doc, sur koakidi, dont l’exemple avec tableau. Tes balises DEBUT/FIN_BLOCK mal placées !

    Répondre à ce message

  • 2

    Ce plugin est très sympa mais quand on le met en place, il déplie le bloc d’info plus un grand espace blanc en dessous. N’y aurait-il pas un problème de ce coté là ?

    J’en profite pour de mander s’il existe un plugin qui fasse la même chose au survol avec la souris.

    marz

    • Pour répondre à ta question Marz peut-être peut tu obtenir l’effet voulu en modifiant le javascript en remplaçant le onClick par onMouseover, non ?

    • J’ai aussi un problème avec le grand espace blanc en desous.

    Répondre à ce message

  • 2

    Ca a l’air très bien mais comment peut-on scinder un article en plusieurs blocs ? Par exemple al partie 1 danas le premier bloc, la partie 2 dans le deuxième, etc...
    Quelqu’un a-t-il une idée ?
    Ne serait-ce pas intéressant de pouvoir l’implémenter directement lors de la rédaction de l’article dans l’espace privé à l’aide d’un raccourci typo ?
    Merci, en tout cas, pour ce joli travail...

    • Perso, ça m’interesse aussi... je vais me pencher sur la question (avec un raccourci type genre <replier> ???)

    • Ca y est, ça marche dans le texte... le raccourci typo s’appelle <replier>... Il génère automatiquement la position du triangle, mais avec quelques limitations :

      • Il ne peut pas être utilisé conjointement avec un replis/déplis dans le reste de la page... (la numérotation dans le texte ne suit pas la numérotation de la page... à moins que je ne parte d’un indice assez élevé pour numéroté les éléments dans la page... genre 100 - on a rarement autant de bloc à déplier sur une page !)
      • Il doit se situer à l’interieur du texte : en clair, la balise </replier> ne doit pas être le dernier texte d’une page.

      Il n’y a pas de limitation en nombre...
      Voilà...

      Euh, je fais comment pour proposer la modif ?

    Répondre à ce message

  • 1

    Très bon plugin bravo.
    J’aurais néanmoins une requête, j’ai mis les balises de manière à déplier le formulaire de post des forums liés aux articles et lorsque que je clic sur « voir ce message avant de le poster » la page se recharge et le block réapparait repliée.
    J’aurais donc aimé savoir comment faire pour que lorsque la page se charge le plugin vérifie si le block était déplié auparavant pour le laisser ainsi (et que les block qui n’étaient pas dépliés reste fermés).
    Je pense qu’il faudrait adapter le code dans le fichier « derebloc_balises.php » mais je ne connais rien en prog php donc c’est un peu dur de savoir quoi faire....

    Merci d’avance @+ Gaby22

    • j’ai un autre problème c’est que sous Opéra ça marche pas vraiment.
      Un autre problème encore, j’ai mis 2 fois les balises du plugin (pour avoir 2 blocks dépliant dans la meme page) mais ça marche moyennement parceque lorsque j’arrive sur ma page quelque soit la flèche sur laquelle je clic il m’ouvre systématiquement la première mais si je fait « recalculer la page » ça marche comme je le veux la première flèche ouvre le premier block et la deuxième flèche le deuxième block.....

      Si quelque sait comment et pourquoi ou carrément a une solution pour que ça marche mieux....n’hésitez pas !

      @+ Gaby22

    Répondre à ce message

  • 1

    Super plug-in, vraiment très utile.

    J’ai cependant un comportement étrange sous IE6.
    Lorsqu’on déplie un block, ça déplace une boite flottante qui n’a pas de raison de bouger.

    En fait, j’ai une boite en float : left qui contient un menu de navigation utilisant les blocks. Et une autre boite en float : left à côté qui contient le texte. Lorsque tout est replié, le contenu apparaît le long du menu, normal. Dès que je déplie un menu, le contenu passe sous le menu.

    Sous Firefox et IE7, tout marche bien : la boite reste à sa place.

    Cf. site d’AL

    Quelqu’un aurait une idée de l’origine de ce comportement ? J’ai beau chercher et tester, je ne comprends pas. Par avance merci !

    • Bonsoir,

      J’ai répondu à ta question sur le post que tu as créé dans Spip Forums.

    Répondre à ce message

  • 1

    Très bon plug in ! Merci ! :D

    Je l’ai installé cet après en local sur mes forums (un block par thread) et c’est pile poil.

    Pour l’heure je cherche juste un « truc » pour garder mon fil ouvert après validation du post pour pouvoir bénéficier du retour à l’ancre #forumXYZ parce que pour l’heure, dès que tu postes le premier message d’un fil, c’est OK mais si tu postes une réponse à un forum, le retour se fait en haut de page (et pour cause puisque le message incriminé se situe dans un block invisible.

    Je trifouille et je vous dis. En attendant, si vous avez une idée, elle sera la bienvenue ;)

    Bonne soirée.

    • euh ... non !
      D’ailleurs, si qq’un souhaitait reprendre la suite, ce serait super, ainsi au passage apporter solutions, peut-être, aux posts précédents ! ... jquery peut-être ... ?
      J’aurais certainement pas l’occasion d’y remettre le nez !

      Cordialement, Scoty.

    Répondre à ce message

  • 1

    Bonjour,

    J’ai installé votre plugin déplier/replier. Il fonctionne très parfaitement et merci pour cette contribution.
    J’ai juste un soucis : je voudrais que le bloc soit déplié au chargement de la page (ou si l’internaute a désactivé javascript), ce qui n’est pas le cas actuellement. Savez-vous ce que je dois changer dans le code ou dans le code de layer.php ?

    • Dans fichier derebloc_balises du plugin, dans la définition de la balise DEBUT_BLOCK, change « debut_block_invisible » par « debut_block_visible ».
      Effet : au chargement de la page, les block sont ... ouvert !
      _
      Mais ... pour le reste, je suis total brêle en js ... donc espère que qq’un pourra t’en dire plus.

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

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