อัปเดตคำตอบ
ในขณะที่กำลังทดสอบสิ่งนี้บน Drupal 8 พร้อมติดตั้งกฎใหม่ (อัลฟ่า 2) ฉันพบข้อผิดพลาดซึ่งทำให้การทดสอบนี้ประสบความสำเร็จในขณะที่ตัวเลือกข้อมูลด้านล่างนั้นถูกต้องฉันไม่สามารถสร้างกฎการทำงานได้ในปัจจุบัน
รายงานข้อผิดพลาดอยู่ที่นี่: https://www.drupal.org/node/2770291 - เพื่อสรุปปัญหานี้กฎคาดว่าพารามิเตอร์ TO: จะเป็นอาร์เรย์และจะโยนข้อผิดพลาดเมื่อผ่านโทเค็นที่อยู่อีเมลด้านล่างซึ่งส่งกลับค่า เชือก
คำตอบเริ่มต้นของฉันยังคงเป็นจริงสำหรับ Drupal 7 แต่สำหรับ Drupal 8 สถานการณ์ดูเหมือนง่ายขึ้นและขึ้นอยู่กับข้อเท็จจริงเดียวที่ยังไม่ได้รับการบันทึกไว้อย่างดี
ใน D7 เราคุ้นเคยกับไวยากรณ์ที่คล้ายกัน: comment:node:author:mail
ใน D8 ตัวเลือกเดียวกัน (ซึ่งใช้งานได้) คือ: comment.entity_id.entity.uid.entity.mail.value
หวังว่าสิ่งนี้จะช่วยให้ฉันออกจากคำตอบก่อนหน้านี้ด้านล่างในกรณีที่ช่วยคนอื่น
คำตอบก่อนหน้า
* โดยทั่วไปกับกฎการใช้ค่าของเขตข้อมูลกฎจะต้องตรวจสอบการมีอยู่ของเขตข้อมูลก่อน (เช่นว่าเขตข้อมูลมีค่าในบริบทที่กฎกำลังทำงานอยู่) หากคุณยังไม่ได้ลองสิ่งนี้คุณอาจต้องการลองเพิ่มเงื่อนไข "เอนทิตีมีฟิลด์" ในกฎเพื่อตรวจสอบว่ามีที่อยู่อีเมลหรือไม่ สิ่งนี้ควรแสดงโทเค็นสำหรับฟิลด์
ฉันมีปัญหาที่คล้ายกันในการเรียกใช้กฎโดยใช้ความสัมพันธ์เอนทิตี (ซึ่งมากหรือน้อยกว่าสิ่งที่คุณกำลังทำโดยอ้างอิงผู้เขียนจากโหนด) การตรวจสอบการมีอยู่ของฟิลด์ (ในกรณีของคุณมีแนวโน้มมากที่สุดว่า ผู้เขียน (ควรเปิดการเข้าถึงวัตถุผู้ใช้) จากนั้นตรวจสอบวัตถุผู้ใช้เพื่อให้แน่ใจว่ามีที่อยู่อีเมล) เปิดโทเค็นฟิลด์ที่มีอยู่จากเอนทิตีที่อ้างอิง *