Używam Drupala 8.1 z Regułami 8.x-3.0-alpha1.
Chcę utworzyć regułę, aby wysłać wiadomość e-mail do autora węzła, gdy nowy komentarz zostanie opublikowany w tym węźle. Problem polega na tym, że nie otrzymałem adresu e-mail autora z regułami, ponieważ zestaw danych podaje mi tylko te wartości: @ node.node_route_context: węzeł lub komentarz, ale pod komentarzem nie znalazłem niczego takiego jak komentarz: node: autor. W Drupal 7 mam te dane. Co muszę zrobić w Drupal 8?
Odpowiedzi:
Zaktualizowana odpowiedź
Podczas testowania tego na nowej instalacji Drupala 8 z regułami (Alpha 2) natknąłem się na błąd, który uniemożliwia udany test tego, podczas gdy poniższy selektor danych jest poprawny, obecnie nie jestem w stanie odtworzyć działającej reguły.
Raport o błędzie znajduje się tutaj: https://www.drupal.org/node/2770291 - Podsumowując ten problem Reguły oczekują, że parametr TO: będzie tablicą i zgłosi błąd podczas przekazywania tokena adresu e-mail, poniżej którego zwraca strunowy.
Moja pierwsza odpowiedź jest prawdziwa w przypadku Drupala 7, jednak w przypadku Drupala 8 sytuacja wydaje się prostsza i opiera się na jednym fakcie, który nie jest jeszcze dobrze udokumentowany.
W D7 znamy składnię podobną do:
comment:node:author:mail
W D8 ten sam selektor (który działa) to:
comment.entity_id.entity.uid.entity.mail.value
Mam nadzieję, że to pomoże, zostawiam poprzednią odpowiedź poniżej na wypadek, gdyby pomógł komuś innemu.
Poprzednia odpowiedź
* Zasadniczo w przypadku reguł, aby użyć wartości pola, reguła musi najpierw dokładnie sprawdzić istnienie pola (tzn. Czy pole ma wartość w kontekście, w którym reguła jest uruchomiona). Jeśli jeszcze tego nie próbowałeś, możesz spróbować dodać do reguły warunek „Jednostka ma pole”, aby sprawdzić, czy istnieje adres e-mail. To powinno odsłonić token pola.
Miałem podobne problemy z wykonywaniem reguł przy użyciu relacji encji (mniej więcej to, co robisz, odwołując się do autora z węzła) sprawdzanie istnienia pola (w twoim przypadku najprawdopodobniej sprawdzenie, czy encja ma autor (powinno to otworzyć dostęp do obiektu użytkownika), a następnie sprawdzenie obiektu użytkownika w celu upewnienia się, że ma on adres e-mail) otworzył dostępne tokeny pól od jednostki, do której istnieje odwołanie. *
źródło
Jest działający przykład w kolejce problemów z regułami, która została opublikowana w listopadzie 2016 r., Więc było to możliwe przynajmniej od tego czasu. Zobacz https://www.drupal.org/project/rules/issues/2828422
Oto nieco zmodyfikowana wersja tej odpowiedzi. Możesz zaimportować to do swojej witryny i spojrzeć na to w interfejsie użytkownika, aby dowiedzieć się, jak skonfigurować tę funkcję.
źródło