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?
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.
quelle
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 dieseEntity has field
Bedingung 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 field
Zustands veranschaulicht , finden Sie unter Datentypen und Datenauswahl , insbesondere zwischen 13:30 und 17:30.quelle