Bizarrerie de résultat nul de champ

Bonjour,

Sur un Spip 3.2.4, j'ai un squelette de newsletter que j'ai remis en squelette indépendant pour le debug.
Le problème est dans l'affichage de
"2 nouvelle(s) offre(s) d'alternance"
ou seulement
"offre(s) d'alternance" si la qté est à '0'.

Voici le squelette simplifié :

<BOUCLE_newsletter(NEWSLETTERS){id_newsletter}{statut?}>
<html><head>

   [(#REM) DATE de la precedente diffusion ]
   [(#SET{dateNlprec, [(#ENV{date}|affdate{Y-m-01})] })]
   <BOUCLE_nlprec(NEWSLETTERS){!par date}{0,1}>
     [(#SET{dateNlprec, #DATE})]
   </BOUCLE_nlprec>

   [(#REM) Compter le nb d'articles nouveaux ]
   <BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date > #GET{dateNlprec}} />[(#SET{cptNvx, #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>

   <title>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</title>
</head>

<body>
   <h1>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</h1>
</body>

</BOUCLE_newsletter>
#FILTRE{newsletters_liens_absolus}

====

Et le résultat :
Le titre de fenêtre est :
offre(s) d’alternance
-> OK

Le corps de la page est :
0 nouvelle(s) offre(s) d’alternance
-> J'ai ce "0 nouvelle(s)" qui reste !!!

Donc le même champ [(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE
donne 2 résultats différents selon qu'il est
- dans le title du head
ou
- dans le h1 du body !

Comment effacer ce "0 nouvelles " dans le body ?

Merci

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Le 23/05/2019 à 22:57, Stephane Santon a écrit :

Bonjour,

Sur un Spip 3.2.4, j'ai un squelette de newsletter que j'ai remis en squelette indépendant pour le debug.
Le problème est dans l'affichage de
"2 nouvelle(s) offre(s) d'alternance"
ou seulement
"offre(s) d'alternance" si la qté est à '0'.

Voici le squelette simplifié :

<BOUCLE_newsletter(NEWSLETTERS){id_newsletter}{statut?}>
<html><head>

[(#REM) DATE de la precedente diffusion ]
[(#SET{dateNlprec, [(#ENV{date}|affdate{Y-m-01})] })]
<BOUCLE_nlprec(NEWSLETTERS){!par date}{0,1}>
[(#SET{dateNlprec, #DATE})]
</BOUCLE_nlprec>

[(#REM) Compter le nb d'articles nouveaux ]
<BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date > #GET{dateNlprec}} />[(#SET{cptNvx, #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>

<title>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</title>
</head>

<body>
<h1>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</h1>
</body>

</BOUCLE_newsletter>
#FILTRE{newsletters_liens_absolus}

Une petite question :
C'est normal/voulu qu'il n'y ait pas la fermeture de la boucle cpt_nvx ?
</BOUCLE_cpt_nvx>

Oui c’est une écriture raccourcis en principe

Pourquoi utiliser #_cpt_nvx:TOTAL_BOUCLE?
#TOTAL_BOUCLE devrait suffire.

De mémoire il ne faut pas utiliser #SET dans les parties conditionnelles (surtout avant la boucle)

Vous avez essayez avec un retour chariot juste avant le [(#SET{…})]?

Le ven. 24 mai 2019 à 16:51, Manu <manu@mine-de-rien.fr> a écrit :

Le 23/05/2019 à 22:57, Stephane Santon a écrit :

Bonjour,

Sur un Spip 3.2.4, j’ai un squelette de newsletter que j’ai remis en
squelette indépendant pour le debug.
Le problème est dans l’affichage de
« 2 nouvelle(s) offre(s) d’alternance »
ou seulement
« offre(s) d’alternance » si la qté est à ‹ 0 ›.

Voici le squelette simplifié :

<BOUCLE_newsletter(NEWSLETTERS){id_newsletter}{statut?}>

[(#REM) DATE de la precedente diffusion ]
[(#SET{dateNlprec, [(#ENV{date}|affdate{Y-m-01})] })]
<BOUCLE_nlprec(NEWSLETTERS){!par date}{0,1}>
[(#SET{dateNlprec, #DATE})]
</BOUCLE_nlprec>

[(#REM) Compter le nb d’articles nouveaux ]
<BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date >
#GET{dateNlprec}} />[(#SET{cptNvx, #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>

[(#GET{cptNvx})  nouvelle(s) ]#TITRE

[(#GET{cptNvx})  nouvelle(s) ]#TITRE

</BOUCLE_newsletter>
#FILTRE{newsletters_liens_absolus}

Une petite question :
C’est normal/voulu qu’il n’y ait pas la fermeture de la boucle cpt_nvx ?
</BOUCLE_cpt_nvx>


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Bonjour,

Le 24/05/2019 à 16:49, Manu a écrit :

[(#REM) Compter le nb d'articles nouveaux ]
<BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date > #GET{dateNlprec}} />[(#SET{cptNvx, #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>

<title>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</title>
</head>

<body>
<h1>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</h1>

Une petite question :
C'est normal/voulu qu'il n'y ait pas la fermeture de la boucle cpt_nvx ?
</BOUCLE_cpt_nvx>

D'après

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Bonjour,

Le 24/05/2019 à 17:21, pierre laszczak a écrit :

Pourquoi utiliser #_cpt_nvx:TOTAL_BOUCLE?
#TOTAL_BOUCLE devrait suffire.

Parce que dans le squelette complet j'avais un conflit à lever : il prenait le #TOTAL_BOUCLE d'une boucle parente.
Sans lui c'est pareil.

De mémoire il ne faut pas utiliser #SET dans les parties conditionnelles (surtout avant la boucle)

Ah bon ??
Plus d'infos ?

Vous avez essayez avec un retour chariot juste avant le [(#SET{...})]?

Pas mieux...

     > [(#REM) Compter le nb d'articles nouveaux ]
     > <BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date >
     > #GET{dateNlprec}} />[(#SET{cptNvx,
    #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>
     >
     > <title>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</title>
     > </head>
     >
     > <body>
     > <h1>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</h1>

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Bonjour,

[(#REM) Compter le nb d'articles nouveaux ]
<BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date > #GET{dateNlprec}} />[(#SET{cptNvx, #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>

<title>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</title>
</head>

<body>
<h1>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</h1>

Et si je place un
   [(#GET{cptNvx}|print_r{1})]
avant chaque expression, j'obtiens un beau '0' pour les 2...

Bizarre....

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net

Ben alors ça...
C'est la présence du plugin SEO 2.1.7 qui crée ça !!

En le désactivant, les 2 donnent "0 nouvelle(s) offres".
En le réactivant, le "0 nouvelle(s)" du head disparaît !!
BIZARRE BIZAaaaRRE

Mais d'ailleurs quelle serait la syntaxe "officielle" de
[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE

pour que 0 nouvelle(s) n'apparaisse pas si cptNvx vaut 0 ?

Merci

Le 24/05/2019 à 22:45, Stephane Santon a écrit :

Bonjour,

[(#REM) Compter le nb d'articles nouveaux ]
<BOUCLE_cpt_nvx(ARTICLES){id_rubrique=#GET{rubOffres}}{date > #GET{dateNlprec}} />[(#SET{cptNvx, #_cpt_nvx:TOTAL_BOUCLE})]<//B_cpt_nvx>

<title>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</title>
</head>

<body>
<h1>[(#GET{cptNvx})&nbsp; nouvelle(s) ]#TITRE</h1>

Et si je place un
[(#GET{cptNvx}|print_r{1})]
avant chaque expression, j'obtiens un beau '0' pour les 2...

Bizarre....

--
Stéphane

Les Voisins Spipeurs : http://www.voisins-spipeurs.net