Ich verwende Drupal 8.1 mit Rules 8.x-3.0-alpha1.
Ich möchte eine Regel erstellen, um eine E-Mail an den Autor eines Knotens zu senden, wenn ein neuer Kommentar an diesen Knoten gesendet wird. Das Problem ist, dass ich die E-Mail-Adresse des Autors mit den Regeln nicht erhalten habe, weil der Datensatz nur die folgenden Werte angibt: @ node.node_route_context: node oder comment, aber unter comment habe ich nichts wie comment: node: author gefunden. In Drupal 7 habe ich diese Daten. Was muss ich in Drupal 8 tun?
Antworten:
Aktualisierte Antwort
Während ich dies auf einer Neuinstallation von Drupal 8 mit Rules (Alpha 2) testete, stieß ich auf einen Fehler, der einen erfolgreichen Test verhindert, obwohl die unten stehende Datenauswahl korrekt ist. Derzeit kann ich keine funktionierende Regel reproduzieren.
Der Fehlerbericht ist hier: https://www.drupal.org/node/2770291 - Um dieses Problem zusammenzufassen, erwartet Rules, dass der TO: -Parameter ein Array ist, und gibt einen Fehler aus, wenn das E-Mail-Adressentoken übergeben wird, unter dem ein zurückgegeben wird Zeichenfolge.
Meine erste Antwort gilt für Drupal 7, aber für Drupal 8 scheint die Situation einfacher zu sein und hängt von einer einzigen Tatsache ab, die noch nicht gut dokumentiert ist.
In D7 kennen wir eine Syntax, die ungefähr so aussieht:
comment:node:author:mail
In D8 ist derselbe Selektor (der funktioniert):
comment.entity_id.entity.uid.entity.mail.value
Hoffentlich hilft das. Ich lasse die vorherige Antwort unten, falls es jemand anderem hilft.
Vorherige Antwort
* Im Allgemeinen muss bei Regeln, um den Wert eines Felds zu verwenden, die Regel zuerst speziell auf das Vorhandensein des Felds prüfen (dh, dass das Feld einen Wert in dem Kontext hat, in dem die Regel ausgeführt wird). Wenn Sie dies noch nicht versucht haben, können Sie versuchen, der Regel eine Bedingung "Entität hat Feld" hinzuzufügen, um zu überprüfen, ob die E-Mail-Adresse vorhanden ist. Dies sollte dann das Token für das Feld verfügbar machen.
Ich hatte ähnliche Probleme bei der Ausführung von Regeln mit Entitätsbeziehungen (das ist mehr oder weniger das, was Sie tun, indem Sie den Autor vom Knoten aus referenzieren), bei der Überprüfung der Existenz des Feldes (in Ihrem Fall höchstwahrscheinlich eine Überprüfung, die die Entität hat) author (dies sollte den Zugriff auf das Benutzerobjekt ermöglichen) und anschließend eine Prüfung des Benutzerobjekts, um sicherzustellen, dass es eine E-Mail-Adresse hat.) öffnete die verfügbaren Feld-Token der Entität, auf die verwiesen wird. *
quelle
Es gibt ein funktionierendes Beispiel in der Regelausgabewarteschlange, das im November 2016 veröffentlicht wurde. Dies ist also zumindest seitdem möglich. Siehe https://www.drupal.org/project/rules/issues/2828422
Hier ist eine leicht modifizierte Version dieser Antwort. Sie können dies in Ihre Site importieren und in der Benutzeroberfläche anzeigen, um zu erfahren, wie Sie diese Funktionalität konfigurieren.
quelle