No parece haber ninguna forma de marcar el valor de una sola casilla de verificación de encendido / apagado (booleano) en el selector de datos para el módulo Reglas. Si "field-MyField" = marcado o "field-MyField" = 1, entonces haga 'blah'. ¿Pueden las reglas hacer esto? Debo estar perdiendo algo
8
Respuestas:
Aquí hay una combinación de detalles correctos e incorrectos, por lo que intentaré resolverlos. Esto es para Reglas en Drupal 7, y se aplica al trabajo con un campo booleano.
Para hacer una condición que verifique el estado booleano de un campo (verdadero / falso, sí / no, marcado / no marcado), primero asegúrese de que puede acceder al campo en el selector de datos. Como Bojan mencionó anteriormente, y como se menciona en la página de administración en sí,
El operador que desea elegir es "igual".
Para el campo "Valor de datos", puede ingresar valores en dos modos, asegúrese de estar usando el "modo de entrada directa". Entonces debería poder marcar la casilla de verificación que representa VERDADERO para ese campo.
Traducido, lo que estás diciendo es: "¿Es este campo igual a VERDADERO?" También puede negarlo dejándolo sin marcar o usando la opción "negar" a continuación.
fuente
Simplemente agregue una condición de "Comparación de datos", especifique el nombre del campo e ingrese "1" como valor. Si el campo no aparece en la lista de campos, primero agregue una condición "La entidad tiene campo" y seleccione el campo allí. Luego agregue la "Comparación de datos" a continuación.
fuente
Después de muchas horas de prueba y error, terminé resolviendo el problema. No me pidas que explique esto porque no tiene sentido para mí. Si alguien puede explicar, ¡eso sería muy apreciado!
Establecí una nueva condición usando COMPARACIÓN DE DATOS. Luego selecciono "node: field-MyField: 0" (en realidad hay hasta 4 de estos: node: field-MyField: 1, node: field-MyField: 2, etc.). Luego establecí la COMPARACIÓN en IGUAL. Luego, en la segunda parte del selector de datos, ya no es un selector de datos de cuadro de entrada de texto, sino que ahora aparece como un selector de datos de casilla de verificación. Cuando hago clic en el selector de datos de la casilla de verificación y presiono guardar, ahora el módulo de reglas funciona correctamente.
golpea la cabeza en la pared
fuente
En la versión actualizada (¿fija?) De Reglas, para hacer esto, agregue una condición de Comparación de datos, seleccione el campo apropiado en el selector de datos
node:field-to-check
, luego, en el siguiente paso, deje el operador de comparación comoequals
. En el grupo de valor de datos, habrá una casilla de verificación útil que se denominará "Reglas de valor de datos" y se comparará con el valor de la casilla de verificación presentada en esta página.fuente
Lo más probable es que tenga que usar el Soporte de formularios de reglas .
Una vez que active las reglas del formulario para un formulario específico, puede usar la condición como: El elemento del formulario tiene valor . Esta condición se puede usar cuando el formulario se está creando o validando .
Otro módulo a considerar son las Reglas de la entidad .
fuente