tester si valeur supérieure à 0

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 18

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


Voir le sujet ou répondre à ce courriel pour répondre.


Réponses précédentes

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 ?


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 :slight_smile:

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.