Wie ändere ich einen Feldwert mit einer Rules-Aktion?

20

Ich versuche, eine Regelaktion einzurichten , mit der der Wert eines Felds geändert werden kann. Ich habe ein Aktionsset mit dem Datentyp "Knoten" erstellt. Wenn ich eine Regelaktion erstelle, habe ich Zugriff auf alle Drupal-Standardknotenfelder, jedoch keine Felder.

Ist das einfach nicht möglich? Benötige ich ein anderes Modul, damit dies funktioniert?

Joren
quelle

Antworten:

15

Sie müssen zuerst eine Bedingung hinzufügen, um zu überprüfen, ob das Feld auf diesem Knoten vorhanden ist. Erst dann steht es den Aktionen zur Verfügung. Hierfür gibt es eine bestimmte Bedingung.

Berdir
quelle
1
Außerdem muss es ein Regelsatz sein, um anscheinend Zugriff auf Bedingungen zu haben.
Joren
6

Wenn Sie die Bedingung "Entität hat Feld" (oder "Inhalt ist vom Typ") verwenden, werden die Felder bei der Datenauswahl in der Aktion "Festlegen eines Datenwerts" verfügbar.

jcarballo
quelle
2

Um beiden vorherigen Antworten nicht zu widersprechen, aber IMO fehlt beiden (ignoriert?) Ein entscheidender Teil der Frage: " ... ich habe ein Aktionsset erstellt ... ". Richtig, ein Teil der Lösung ist ziemlich sicher " Entity has field" (wie in der Antwort von jcarballo ). Aufgrund eines Regelaktionssatzes können Sie jedoch keine Regelbedingung in diesen Satz aufnehmen . Daher ist eine der folgenden Angaben erforderlich, um die Antwort auf diese Frage zu vervollständigen:

Vor diesem Hintergrund sollten Sie in der Lage sein, eine Regelaktion wie z. B. "Festlegen eines Datenwerts" für Ihr Feld zu erstellen, wenn Sie auch eine Regelbedingung hinzufügen Entity has field(in Bezug auf das Feld, für das Sie einen Wert festlegen möchten). . Stellen Sie sicher, dass Sie diese Entity has fieldBedingung VOR anderen Regeln hinzufügen . Bedingungen, in denen Sie sich möglicherweise auf dieses Feld beziehen möchten (falls Ihre Regel solche Bedingungen enthält).

Dies wird auch in der Benutzeroberfläche für Regeln erwähnt, z. B. wenn Sie eine "Datenvergleichs" -Bedingung hinzufügen: An einer Stelle heißt es " Die Datenauswahl hilft Ihnen, einen Drilldown in die für Regeln verfügbaren Daten durchzuführen. Damit Entitätsfelder in der Datenauswahl angezeigt werden müssen Sie möglicherweise die Bedingung 'Objekt hat Feld' verwenden (oder 'Inhalt ist vom Typ') ".

Ein Video-Tutorial, das die Bedeutung dieses Entity has fieldZustands veranschaulicht , finden Sie unter Datentypen und Datenauswahl , insbesondere zwischen 13:30 und 17:30.

Pierre.Vriens
quelle
Re: die zweite Option, wie ich es verstehe, können Sie nur verwenden Aktion Sets, nicht Regeln Sets, wie die verfügbaren Aktionen in Ansichten Bulk - Operationen (VBO). Dies liegt anscheinend daran, dass die Ansicht die Aufgabe übernehmen soll, zu überprüfen, ob es sich bei den zu verarbeitenden Entitäten um legitime Entitäten handelt, die der Benutzer möchte (sowohl durch Verwenden von Ansichtsfiltern [regulär und / oder kontextbezogen] als auch durch Aktivieren der Kontrollkästchen nur der gewünschten Entitäten) zu verarbeiten), so sollten Bedingungen nicht benötigt werden. Damit ist der Schlüssel zum Sparschwein tatsächlich im Sparschwein. Bedingte Regeln können also genau das sein, was der Arzt angeordnet hat.
Joel MMCC