Score:0

Get term custom field value from referenced entity

au flag

I have a node with a taxonomy term reference field. That taxonomy is a list of names can be assigned to the node and it has its own field with an email address in it. I'm trying to create a rule that when a person/term is selected and the node is saved it will send an email to that person letting them know the node has been assigned to them.

I've see a few places where this situation has been answered, but so far they all seem to be for Drupal 7 and the differences between Rules for 7 and 8 seem to be significant enough that trying to follow these has ended in failure.

In rules I've managed to get both the term ID (via add a variable action) and the term name (using that variable and fetch entity by id), but I can't seem to access the term's fields. And set up the rules with conditions for Entity is of bundle and entity has field.

The D7 guides have done things like add an additional Entity has field conditions and add the above mentioned field name (field_responder_name) as the entity like node:field_responder_name and set the name of the field to look for to be the field on the term (field_responder_email). When I try this in D8 it gives me an error: "Data selector node:field_responder_name for context Entity is invalid. Unable to get variable 'node:field_responder_name'; it is not defined." I assume this is because of the colon so I also tried using a period like node.field_responder_name which gives the error "Expected a entity data type for context Entity but got a list data type instead. "

I also tried node.field_responder_name.entity but got "Expected a entity data type for context Entity but got a entity_reference data type instead."

Under actions I tried creating some variables for the term ID and term name but when I try to reference those from the Condition it says variable not found, no doubt because conditions are run before actions.

I also have tried the Rules token module with the token [term:field_responder_email:value] and the data sector of node.field_responder_name but that just returns blank when the rule runs.

What am I missing here?

beltouche avatar
cn flag
Instead of using Rules, you could you modify the concepts presented here - https://www.valuebound.com/resources/blog/how-to-send-mail-programmatically-drupal-8 - to achieve your ends
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.