[spip-dev] #NOTES sont calculés deux fois - bug?

Salut,

sous SPIP 2.0.5 [13790] mes #NOTES sont affichés deux fois ds l'espace public, alors que ds le secteur privé tout es normal. Il n'y qu'une seule balise #NOTES ds mon squelette, pour tester j'ai même commenté les #NOTES ds les modeles image.html et doc.html

Je me passerai des notes de bas de page mais j'aimerais bien comprendre pourquoi cette version de SPIP se comporte ainsi. Vous avez une idée ds quel script chercher?

klaus++

* klaus++ tapuscrivait, le 02/03/2009 16:03:

Salut,

sous SPIP 2.0.5 [13790] mes #NOTES sont affichés deux fois ds l'espace public, alors que ds le secteur privé tout es normal. Il n'y qu'une seule balise #NOTES ds mon squelette, pour tester j'ai même commenté les #NOTES ds les modeles image.html et doc.html

Je me passerai des notes de bas de page mais j'aimerais bien comprendre pourquoi cette version de SPIP se comporte ainsi. Vous avez une idée ds quel script chercher?

Je ne reproduis pas ce bug.

S'lt

Utilises tu 2 fois #TEXTE ? du genre [(#TEXTE|oui) #TEXTE]
Dans ce cas #NOTES est calculé autant de fois.

Km

RealET a écrit :

  • klaus++ tapuscrivait, le 02/03/2009 16:03:

Salut,

sous SPIP 2.0.5 [13790] mes #NOTES sont affichés deux fois ds l’espace public, alors que ds le secteur privé tout es normal. Il n’y qu’une seule balise #NOTES ds mon squelette, pour tester j’ai même commenté les #NOTES ds les modeles image.html et doc.html

Je me passerai des notes de bas de page mais j’aimerais bien comprendre pourquoi cette version de SPIP se comporte ainsi. Vous avez une idée ds quel script chercher?

Je ne reproduis pas ce bug.

J’ai eu ce souci.
Dans mon cas la cause l’activation (et la présence dans le squelette) de #CS_DECOUPE dans la lame « découper l’article en plusieurs pages » du couteau suisse.
Si on laisse la lame active mais qu’on désactive #CS_DECOUPE, ça marche.

J’ai aussi eu ça pour une autre raison : une note présente dans le chapeau de l’article, hors le chapeau était aussi utilisé comme description de la page dans les meta du head => les notes étaient calculées deux fois.

Effectivement - merci de me l'avoir fait remarquer - j'utilise un
[(#TEXTE|couper{0})] plus haut pour déclencher ou non l'affichage des
notes plus haut dans le squelette. Il n'est pas possible d'afficher des
notes avant le texte ou tout autre élément qui en contient et j'avais
utilisé cette astuce pour contourner ce comportement. Je vais modifier
le squelette en fonction.

Comme fait remarquer simon camerlo ds son message il y plusieurs cas
dans lesquels des notes risquent d'être affichées plusieurs fois.

Je me demande alors s'il n'y a pas un moyen de dire au compilateur "Je
veux afficher les notes de #DESCRIPTIF qui figure dans la BOUCLE_x plus
bas ds le squelette".

Pour le moment je ne vois qu'une solution avec plusieurs inclusions
successifs qui passeraient le contenu des notes comme valeurs de parametres :
<BOUCLE_notes(ARTICLES){id_article}>
[(#DESCRIPTIF|couper{0})]
[(#INCLURE{fond=article}{valeur1notes=#NOTES}{id_article})]
</BOUCLE_notes>

et dans article.html

afficher notes ici: #ENV{valeur1notes}
et le texte ici:
<BOUCLE_art(ARTICLES){id_article}>
#DESCRIPTIF etc.
</BOUCLE_art>

Ou ca devient compliqué c'est quand je veux traiter également les notes
dans #SURTITRE, #TITRE, #SOUSTITRE, #CHAPO, #PS, les descriptifs des doc
et img etc.

Une belle solution serait qc comme #NOTES:#TEXTE , #NOTES:#DESCRIPTIF,
#NOTES:#TEXTE:doc{id_document}

Est-ce que vous voyez la possibilité de fabriquer qc de ce genre? Et
peut-être encore un {unique} pour les #NOTES ?

merci, klaus++

cam.lafit@azerttyu.net schrieb:

Peut-être :

#DESCRIPTIF #SET{notes_desc,#NOTES}
#TEXTE #SET{notes_texte,#NOTES}

#GET{notes_desc}

-- Fil

S'lt

Si utilises plusieurs fois #TEXTE pour gerer l'affichage de tes #NOTES
essaye avec[(#TEXTE*|couper{0})]

L'etoile bloque les traitements associés et du coup ne devrait pas
generer les notes dans ce cas.

Km

-----Message d'origine-----
De : cam.lafit@azerttyu.net [mailto:cam.lafit@azerttyu.net]
Envoyé : mercredi 4 mars 2009 10:22
À : Fil
Cc : spip-dev@rezo.net; RealET
Objet : Re: [spip-dev]#NOTES sont calculés deux fois - bug?

S'lt

Si utilises plusieurs fois #TEXTE pour gerer l'affichage de
tes #NOTES essaye avec[(#TEXTE*|couper{0})]

L'etoile bloque les traitements associés et du coup ne
devrait pas generer les notes dans ce cas.

Mais justement, [(#TEXTE*|couper{0})] lui permet de calculer les notes pour
les afficher *avant* le texte.

Si si, merci cam.lafit, cette astuce s'applique sur la deuxième occurrence de #TEXTE, celle qui ne devrait justement PAS afficher les notes. En plus pour mes textes allemands je n'ai aucunement besoin des traitements typographiques de SPIP.

alors

[(#TEXTE|couper{0})]
#NOTES
[(#TEXTE*)]
pour avoir les notes au dessus du texte (mnfin, avec le css, pas si souvent nécessaire - ou justement pour cause d'héritage entre générations de div...)

Merci de votre secours, j'aurais pu y penser :slight_smile:

Fil, merci je vais essayer ton truc. Comme ca j'espere pouvoir jongler avec des variables sous SPIP comme je le faisais avec le PHP, chose que j'ai abandonné à cause de l'omnipotence de SPIP :wink:

klaus++

P.S. Est-ce que [(#TEXTE*)] me débarasse également des balises qui risquent de faire échouer mes pages devant les portes-validators des cieux W3C?

Olivier GENDRIN schrieb:

Cet article de Vincent use du point d'interrogation :
  http://www.spip-contrib.net/-Balise-TEXTE-en-mode-brut-
Pat

Merci, on a donc plusieurs solutions dont on pourra choisir celle le mieux adapté. Je vais en faire un résumé et le poster comme commentaire sous l'article que tu mentionnes.

klaus++

Pat schrieb: