Bonjour
Je voudrais n’afficher un texte que si une valeur (enregistrée en configuration d’un plugin avec saisies) est un nombre supérieur à 0.
Comment puis-je m’y prendre ?
Bonjour
Je voudrais n’afficher un texte que si une valeur (enregistrée en configuration d’un plugin avec saisies) est un nombre supérieur à 0.
Comment puis-je m’y prendre ?
Quelque chose du genre (à tester) : [(#CONFIG{prefixe/champ}|>{0}|oui) #TEXTE ]
préfixe = le préfixe de ton plugin
champ = champ de saisie dans la config du plugin
Oui, :merci, ça j’ai essayé, c’est ok pour les chiffres mais je voudrais aussi exclure les textes
Le 18/04/2022 à 17:01, jeanmarie via Discuter de SPIP a écrit :
jeanmarie
Avril 18Quelque chose du genre (à tester) :
[(#CONFIG{prefixe/champ}|>{0}|oui) #TEXTE ]préfixe = le préfixe de ton plugin
champ = champ de saisie dans la config du plugin
Voir le sujet ou répondre à ce courriel pour répondre.
Réponses précédentes
Jean-Christophe Villeneuve J-C
Avril 18Bonjour
Je voudrais n’afficher un texte que si une valeur (enregistrée en configuration d’un plugin avec saisies) est un nombre supérieur à 0.
Comment puis-je m’y prendre ?
Voir le sujet ou répondre à ce courriel pour répondre.
Vous recevez ce courriel car vous avez activé la liste de diffusion.
Pour vous désabonner de ces courriels, cliquez ici.
Il faudrait préciser la demande 
Si tu veux tester qu’une méta n’est pas vide, c’est [(#CONFIG{prefixe/champ}|!={''}|oui) #TEXTE ]
Autre chose que 0 : [(#CONFIG{prefixe/champ}|!={0}|oui) #TEXTE ]
…
Ben , je pensais avoir été clair mais je vais repréciser : je ne veux afficher un texte que si ma méta est un chiffre entier positif.
Donc si c’est un texte, un nombre négatif, un zéro ou un nombre décimal, je n’affiche rien.
Peut-être en utilisant is_int (PHP: is_int - Manual) ?
Quelque chose dans le genre [(#CONFIG{prefixe/champ}|is_int|>{0}|oui) #TEXTE ] ?
[EDIT]En réfléchissant à la chose, sans doute pas… Je n’ai pas testé et je n’ai pas plus testé ceci :
[(#CONFIG{prefixe/champ}|is_int|oui)[(#CONFIG{prefixe/champ}|>{0}|oui) #TEXTE]]
[/EDIT]
j’y croyais à ce is_int mais rien ne s’affiche, quelque soit la valeur entrée.
Tu as vu mon édition avec le bout de code nouvellement proposé ?
Je pense qu’il faut d’abord tester si c’est un entier, puis alors seulement tester si la valeur est supérieure à 0.
Mais est-ce que ce ne serait pas plus pertinent de vérifier plutôt à la validation du formulaire ?
oui oui j’avais vu ton edit.
Ce serait en effet plus simple de tester à la validation du formulaire.
Celui-ci est fait avec Saisies et voici le code
array(
'saisie' => 'input',
'options' => array(
'nom' => 'periodevisites',
'label' => '<:escal:noisettes_stats_periode:>',
'defaut' => '365',
)
),
et je ne sais pas comment Saisies peut tester la valeur entrée ?
Le plus simple est de typecaster : [(#CONFIG{prefixe/champ}|intval|>{0}|oui) #TEXTE ]
edit: oups coquille, code corrigé
Merci beaucoup mais je viens de lire la doc de « Verifier » qui permet de vérifier la valeur entrée dans le formulaire fait avec Saisies. Problème résolu.