Affichage conditionn é à la valeur d'un champ

Salut

Existe t'il un moyen SPIP de tester si un champ (#TEXTE, #CHAPO ou autre)
est renseigné et conditionner ainsi un affichage selon la réponse, tout cela
sans afficher ce champ?
Il me semble que la syntaxe [avant(champ|filtre)après] affiche avant, champ,
après si le champ est renseigné, rien du tout sinon mais jamais avant et
après sans afficher le champ si ce dernier est rempli? Me trompe je?

Pierre

si je comprend bien ta question la réponse que je connait est la suivante :
<B_exemple>
<BOUCLE_exemple(article){id_rubrique}{par titre}>#TITRE<BR>#CHAPO<BR>#TEXTE
....etc.
....
</BOUCLE_exemple></B-exemple>

si il y a un article il est affiché s'il n'y a pas d'article rien ne
s'affiche.
A+
didier

-----Original Message-----
From: spip-bounces+didierbalick=theatre-jeune-public.com@rezo.net
[mailto:spip-bounces+didierbalick=theatre-jeune-public.com@rezo.net]On
Behalf Of Pierre Coubès
Sent: Thursday, February 20, 2003 4:57 PM
To: SPIP REZO
Subject: [Spip] Affichage conditionn é àla valeur d'un champ

Salut

Existe t'il un moyen SPIP de tester si un champ (#TEXTE, #CHAPO ou autre)
est renseigné et conditionner ainsi un affichage selon la
réponse, tout cela
sans afficher ce champ?
Il me semble que la syntaxe [avant(champ|filtre)après] affiche
avant, champ,
après si le champ est renseigné, rien du tout sinon mais jamais avant et
après sans afficher le champ si ce dernier est rempli? Me trompe je?

Pierre

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

Merci Didier

Mais ce n'est pas tout à fait ce que je cherche. Les balises <B_x>, </B_x>
et <//B_x> permettent de lier l'affichage à l'existence ou non d'article
résultant de la boucle <BOUCLE_x> et non pas au contenu de ces articles.
Or c'est justement le contenu des champs #TEXTE ou autre que je voudrai bien
tester.

si je comprend bien ta question la réponse que je connait est la suivante :
<B_exemple>
<BOUCLE_exemple(article){id_rubrique}{par titre}>#TITRE<BR>#CHAPO<BR>#TEXTE
....etc.
....
</BOUCLE_exemple></B-exemple>

si il y a un article il est affiché s'il n'y a pas d'article rien ne
s'affiche.
A+
didier

Salut

Existe t'il un moyen SPIP de tester si un champ (#TEXTE, #CHAPO ou autre)
est renseigné et conditionner ainsi un affichage selon la
réponse, tout cela
sans afficher ce champ?
Il me semble que la syntaxe [avant(champ|filtre)après] affiche
avant, champ,
après si le champ est renseigné, rien du tout sinon mais jamais avant et
après sans afficher le champ si ce dernier est rempli? Me trompe je?

Pierre

Essaie de faire un truc du genre :

<?php if (0[(#TEXTE*|strlen)] > 0) { ?>
#TEXTE
<?php } else { ?>
#DESCRIPTIF
<?php } ?>

Ca devrait marcher. Attention toutefois : tu auras des surprises si jamais
il y a des notes spip dans le descriptif ; elles apparaîtront dans #NOTES
même si le #TEXTE n'est pas vide.

@ Pierre Coubès <pcoubes@telise.com> :

Merci Didier

Mais ce n'est pas tout à fait ce que je cherche. Les balises <B_x>, </B_x>
et <//B_x> permettent de lier l'affichage à l'existence ou non d'article
résultant de la boucle <BOUCLE_x> et non pas au contenu de ces articles.
Or c'est justement le contenu des champs #TEXTE ou autre que je voudrai bien
tester.

> si je comprend bien ta question la réponse que je connait est la suivante :
> <B_exemple>
> <BOUCLE_exemple(article){id_rubrique}{par titre}>#TITRE<BR>#CHAPO<BR>#TEXTE
> ....etc.
> ....
> </BOUCLE_exemple></B-exemple>
>
> si il y a un article il est affiché s'il n'y a pas d'article rien ne
> s'affiche.
> A+
> didier
>

>> Salut
>>
>> Existe t'il un moyen SPIP de tester si un champ (#TEXTE, #CHAPO ou autre)
>> est renseigné et conditionner ainsi un affichage selon la
>> réponse, tout cela
>> sans afficher ce champ?
>> Il me semble que la syntaxe [avant(champ|filtre)après] affiche
>> avant, champ,
>> après si le champ est renseigné, rien du tout sinon mais jamais avant et
>> après sans afficher le champ si ce dernier est rempli? Me trompe je?
>>

Pierre

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

-- Fil

Une solution sans php ?

<BOUCLE_article(ARTICLES){id_article}>
#TEXTE
<BOUCLE_desc(ARTICLES){texte==^$}>
#DESCRIPTIF
</BOUCLE_desc>
</BOUCLE_article>

Essaie de faire un truc du genre :

<?php if (0[(#TEXTE*|strlen)] > 0) { ?>
#TEXTE
<?php } else { ?>
#DESCRIPTIF
<?php } ?>

-- Fil

Est-ce que ça mériterait pas une extension de syntaxe ?
JLuc

Fil wrote:

Une solution sans php ?

<BOUCLE_article(ARTICLES){id_article}>
#TEXTE
<BOUCLE_desc(ARTICLES){texte==^$}>
#DESCRIPTIF
</BOUCLE_desc>
</BOUCLE_article>

Essaie de faire un truc du genre :

<?php if (0[(#TEXTE*|strlen)] > 0) { ?>
#TEXTE
<?php } else { ?>
#DESCRIPTIF
<?php } ?>
   
-- Fil

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

Fil wrote:

Une solution sans php ?

<BOUCLE_article(ARTICLES){id_article}>
#TEXTE
<BOUCLE_desc(ARTICLES){texte==^$}>
#DESCRIPTIF
</BOUCLE_desc>
</BOUCLE_article>

Bonjour,

Je ne comprends(ni ne connais) rien aux expression régulières...
Alors je vais sûrement dire une connerie :slight_smile:

Est ce que c'est utilisable ce type de boucle pour différencier le contexte
breve du contexte article ou rubrique?

<BOUCLE_Article(ARTICLES){id_article}>
#TITRE
<BOUCLE_Breve(BREVES){id_breve}{id_article==^$>
#TITRE
</BOUCLE_Breve>
</BOUCLE_Article>

Est ce que ça signifie bien que si id_article n'est pas défini on affiche
les brèves?

--
Dr Philippe Auriol, allergologue
http://www.allergique.org/ Le Monde des Allergies
http://www.weballergies.com/ L'allergie en fiches
http://chercher.weballergies.com/ Chercher l'allergie sur le net

Non, car "Spip" ne rentre à l'intérieur de la boucle
que si il y a une réponse (donc un article donc un id_article ).
Mais il peut y avoir des articles qui ont un champ TEXTE vide.
C'est cela que teste ==^$

Pour afficher les brèves si il n'y a pas d'articles
il faut utiliser mettre ta boucle de brève
à l'intérieur de la partie /B_bouclarticle et //B_bouclarticle
de la boucle.

JLuc

Philippe Auriol wrote:

Fil wrote:

Une solution sans php ?

<BOUCLE_article(ARTICLES){id_article}>
#TEXTE
<BOUCLE_desc(ARTICLES){texte==^$}>
#DESCRIPTIF
</BOUCLE_desc>
</BOUCLE_article>
   
Bonjour,

Je ne comprends(ni ne connais) rien aux expression régulières...
Alors je vais sûrement dire une connerie :slight_smile:

Est ce que c'est utilisable ce type de boucle pour différencier le contexte
breve du contexte article ou rubrique?

<BOUCLE_Article(ARTICLES){id_article}>
#TITRE
<BOUCLE_Breve(BREVES){id_breve}{id_article==^$>
#TITRE
</BOUCLE_Breve>
</BOUCLE_Article>

Est ce que ça signifie bien que si id_article n'est pas défini on affiche
les brèves?