[spip-dev] Bug notes en double

Bonjour,

je viens de découvrir un bug (je suppose) dans spip 1.5.1.
Les notes de bas de pages d'un articles apparaissent en double alors que les renvois dans le texte sont corrects:

texte [1] texte texte [2]

Est-ce que tu constates ce problème uniquement dans l'espace public, ou bien
aussi dans l'espace privé ? Mon hypothèse est que tu utilises deux fois le
tag #TEXTE dans ton squelette...

je viens de découvrir un bug (je suppose) dans spip 1.5.1.
Les notes de bas de pages d'un articles apparaissent en double alors que
les renvois dans le texte sont corrects:

-- Fil

Oui, seulement dans l'espace public.

En effet, j'ai deux fois le tag #TEXTE parce que je fais un test dans le cas où le texte est vide:

[<div class="texte">(#TEXTE)</div>]
[<div class="texte">Le texte complet n'est pas encore disponible en ligne(#TEXTE|sivide{'.'})</div>]

Si ça vient de là, est-ce qu'il y a moyen de faire le test sans référencer deux fois #TEXTE, ou est-ce qu'il y a bien un "bug" mais qui n'apparaît que dans ce type d'utilisation assez particulière. Il n'y a pas de raison que l'utilisation multiple de #TEXTE implique une duplication des notes.

Pascal

Fil wrote:

pas de raison que l'utilisation multiple de #TEXTE implique une
duplication des notes.

Si si, c'est bien ça ton problème :wink:
Si tu utilises deux fois le texte, tu as deux fois les notes, bout à bout.

Mais tu peux utiliser le texte sans le calculer : s'il s'agit par exemple de
tester sa longueur, au lieu de (#TEXTE|strlen), qui va appliquer tous les
filtres de SPIP au texte avant d'appliquer strlen, tu peux faire
(#TEXTE*|strlen), ce qui est a peu près équivalent, mais ne calcule pas les
notes.

Si tu veux l'afficher deux fois, mais calculer les notes une seule fois, tu
fais :

<?php
    $texte = '[(#TEXTE|texte_script)]';
    echo $texte;
?>

<?php
    // l'afficher encore
    echo $texte;
?>

-- Fil

Merci, ça fonctionne avec #TEXTE*.

Fil wrote: