Es scheint keine Möglichkeit zu geben, den Wert eines einzelnen Ein / Aus-Kontrollkästchens (Boolescher Wert) in der Datenauswahl für das Modul Regeln zu aktivieren. Wenn "field-MyField" = markiert oder "field-MyField" = 1 ist, dann mache 'blah'. Können Regeln das tun? Mir muss etwas fehlen
8
Antworten:
Es gibt hier eine Mischung aus richtigen und falschen Details, also werde ich versuchen, sie zu sortieren. Dies gilt für Regeln in Drupal 7 und gilt für die Arbeit mit einem Booleschen Feld.
Stellen Sie zunächst sicher, dass Sie auf das Feld in der Datenauswahl zugreifen können, um eine Bedingung zu erstellen, die den Booleschen Status eines Felds überprüft (wahr / falsch, ja / nein, aktiviert / deaktiviert). Wie Bojan oben erwähnt hat und wie es auf der Admin-Seite selbst erwähnt wurde,
Der Operator, den Sie auswählen möchten, ist "gleich".
Für das Feld "Datenwert" können Sie Werte in zwei Modi eingeben. Stellen Sie sicher, dass Sie den "direkten Eingabemodus" verwenden. Sie sollten dann in der Lage sein, das Kontrollkästchen zu aktivieren, das TRUE für dieses Feld darstellt.
Übersetzt sagen Sie: "Ist dieses Feld gleich WAHR?" Sie können es auch negieren, indem Sie es deaktivieren oder die unten stehende Option "Negieren" verwenden.
quelle
Sie fügen einfach eine Bedingung "Datenvergleich" hinzu, geben den Feldnamen an und geben "1" als Wert ein. Wenn das Feld nicht in der Liste der Felder angezeigt wird, fügen Sie zuerst die Bedingung "Entität hat Feld" hinzu und wählen Sie das Feld dort aus. Fügen Sie dann als nächstes den "Datenvergleich" hinzu.
quelle
Nach vielen Stunden Versuch und Irrtum löste ich das Problem. Bitten Sie mich nicht, dies zu erklären, da es für mich keinen Sinn ergibt. Wenn jemand erklären kann, dann wäre das sehr dankbar!
Ich habe mit DATA COMPARISON eine neue Bedingung festgelegt. Ich wähle dann den "Knoten: Feld-MyField: 0" (es gibt tatsächlich bis zu 4 davon - Knoten: Feld-MyField: 1, Knoten: Feld-MyField: 2 usw.). Ich habe dann den VERGLEICH auf GLEICH gesetzt. Im zweiten Datenauswahlteil handelt es sich dann nicht mehr um eine Datenauswahlfeld-Datenauswahl, sondern wird jetzt als Kontrollkästchen-Datenauswahl angezeigt. Wenn ich auf dieses Kontrollkästchen Datenauswahl klicke und auf Speichern drücke, funktioniert das Regelmodul jetzt ordnungsgemäß.
knallt Kopf an Wand
quelle
Fügen Sie in der aktualisierten (festen?) Version von Rules dazu eine Datenvergleichsbedingung hinzu, wählen Sie das entsprechende Feld in der Datenauswahl aus
node:field-to-check
und lassen Sie im nächsten Schritt den Vergleichsoperator alsequals
. In der Datenwertgruppe gibt es ein Kontrollkästchen mit dem Namen "Datenwert". Regeln werden mit dem Wert des Kontrollkästchens auf dieser Seite verglichen.quelle
Höchstwahrscheinlich müssen Sie die Unterstützung für Regelformulare verwenden .
Sobald Sie die Formularregeln für ein bestimmtes Formular aktiviert haben, können Sie die Bedingung wie folgt verwenden : Formularelement hat Wert . Dieser Zustand kann entweder verwendet werden , wenn das Formular wird aufgebaut bzw. validiert .
Ein weiteres zu berücksichtigendes Modul sind die Entitätsregeln .
quelle