it-swarm.com.de

Wie überprüfe ich, ob ein einzelnes Ein / Aus-Kontrollkästchen aktiviert ist?

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
user785179

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 den Kopf an die Wand

2
user785179

Es gibt hier eine Mischung aus richtigen und falschen Details, also werde ich versuchen, sie zu sortieren. Dies gilt für Regeln für 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,

Um Entitätsfelder in der Datenauswahl anzuzeigen, müssen Sie möglicherweise die Bedingung 'Entität hat Feld' verwenden (oder 'Inhalt ist vom Typ').

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.

6
ezrock

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.

3
Bojan Zivanovic

Höchstwahrscheinlich müssen Sie Rules Forms Support verwenden.

Sobald Sie die Formularregeln für ein bestimmtes Formular aktiviert haben, können Sie die folgende Bedingung verwenden: Das Formularelement hat den Wert . Diese Bedingung kann entweder verwendet werden, wenn ein Formular erstellt oder validiert wird.

Ein anderes zu berücksichtigendes Modul ist Entity Rules .

0
kenorb

Fügen Sie in der aktualisierten (festen?) Version von Rules dazu eine Datenvergleichsbedingung hinzu und wählen Sie das entsprechende Feld in der Datenauswahl node:field-to-check, dann lassen Sie im nächsten Schritt den Vergleichsoperator als equals. In der Datenwertgruppe gibt es ein Kontrollkästchen mit dem Namen "Datenwert". Regeln werden mit dem Wert des Kontrollkästchens verglichen, das auf dieser Seite übermittelt wurde.

0
Zxaos