Il ne semble pas y avoir de moyen de vérifier la valeur d'une seule case on / off (booléenne) dans le sélecteur de données pour le module Rules. Si "field-MyField" = coché ou "field-MyField" = 1, faites "blah". Les règles peuvent-elles faire cela? J'ai dû louper quelque chose
8
Réponses:
Il y a un mélange de détails corrects et incorrects ici, donc je vais essayer de les trier. Ceci concerne les règles sur Drupal 7 et s'applique à l'utilisation d'un champ booléen.
Pour créer une condition qui vérifie l'état booléen d'un champ (vrai / faux, oui / non, coché / décoché), assurez-vous d'abord que vous pouvez accéder au champ dans le sélecteur de données. Comme Bojan l'a mentionné ci-dessus, et comme il l'a mentionné sur la page d'administration elle-même,
L'opérateur que vous souhaitez choisir est "égal".
Pour le champ "Data Value", vous pouvez entrer des valeurs dans deux modes, assurez-vous que vous utilisez "direct input mode". Vous devriez alors être en mesure de cocher la case qui représente VRAI pour ce champ.
Traduit, ce que vous dites est: "Ce champ est-il égal à VRAI?" Vous pouvez également le nier en le laissant décoché ou en utilisant l'option "nier" ci-dessous.
la source
Vous ajoutez simplement une condition de "comparaison de données", spécifiez le nom du champ et entrez "1" comme valeur. Si le champ n'apparaît pas dans la liste des champs, ajoutez d'abord une condition "L'entité a un champ" et sélectionnez-y le champ. Ensuite, ajoutez la "comparaison de données" suivante.
la source
Après plusieurs heures d'essais et d'erreurs, j'ai fini par résoudre le problème. Ne me demandez pas d'expliquer cela car cela n'a aucun sens pour moi. Si quelqu'un peut expliquer, alors ce serait grandement apprécié!
J'ai défini une nouvelle condition à l'aide de COMPARAISON DES DONNÉES. Je sélectionne ensuite le "node: field-MyField: 0" (il y en a jusqu'à 4 - node: field-MyField: 1, node: field-MyField: 2, etc.). J'ai ensuite réglé la COMPARAISON sur EQUALS. Ensuite, dans la deuxième partie du sélecteur de données, il ne s'agit plus d'un sélecteur de données de zone de saisie de texte, mais apparaît maintenant comme un sélecteur de données de case à cocher. Lorsque je clique sur ce sélecteur de données de case à cocher et que je clique sur Enregistrer, le module de règles fonctionne désormais correctement.
frappe la tête sur le mur
la source
Dans la version mise à jour (fixe?) Des règles, pour ce faire, ajoutez une condition de comparaison de données, sélectionnez le champ approprié dans le sélecteur de données
node:field-to-check
, puis à l'étape suivante, laissez l'opérateur de comparaison surequals
. Dans le groupe Valeur de données, il y aura une case à cocher nommée utilement "Les règles de valeur de données" compareront avec la valeur de la case à cocher telle que soumise sur cette page.la source
Vous devrez probablement utiliser le support des formulaires de règles .
Une fois que vous avez activé les règles de formulaire pour un formulaire spécifique, vous pouvez utiliser la condition comme: L' élément de formulaire a une valeur . Cette condition peut être utilisée lorsque le formulaire est construit ou validé .
Un autre module à considérer est les règles d'entité .
la source