Como acceder al campo de una taxonomía desde Rules

drupal 8 post.jpg
Solucionex
30
Abr 20

En el siguiente ejemplo hemos creado un tipo de contenido "Empresa" con un campo tipo de taxonomía "Stock" para el que a su vez hemos creado un campo "Email".

Mediante el módulo Rules vamos a crear una regla para que después de guardar los nodos de este tipo de contenido, cuando su estado de moderación sea Draft (borrador) se enviará un correo electrónico al email de la taxonomía Stock avisando de que ha habido cambios en su contenido. Para ello debemos seguir los siguientes pasos:

1. Ir a Configuración > Flujo de trabajo > Rules

2. Añadir Reaction rule

Reaction rule

Tal y como se muestra en la imagen superior, hemos seleccionamos el evento "After saving a new elemento de contenido" para el tipo de contenido "Empresa", esto nos aplicará las condiciones después de guardar el contenido de los nodos de tipo Empresa.

3. Añadir condiciones

Create a reaction rule

La primera condición es que el nodo tenga el campo "Stock" tal y como muestra la siguiente imagen.

Condition 1

 

Data comparison

La segunda condición será comparación de datos, el valor del campo estado de moderación sea igual a Draft (Borrador). Tal y como se muestra en la siguiente imagen.

Condition 2

 

4. Añadir la acción.

Por último, y no menos importante ya que es la piedra angular de este post, se añadirá la acción que en este caso es "Enviar un correo electrónico al Email del tipo de taxonomía Stock", siempre y cuando se cumplan las condiciones definidas anteriormente.

Para ello añadiremos la siguiente acción:

Acción

Tal y como se muestra en la captura superior, la manera de acceder al campo de una taxonomía sería construyendo el token del siguiente modo:

{{ entity_type.content_type_field.entity.taxonomy_term_field }} 

donde:

entity_type: sería el tipo de entidad, en este caso node.

content_type_field: sería el campo del tipo de contenido, en este caso el campo tipo de taxonomía field_company_stock.

taxonomy_term_field: sería el campo de la taxonomía, en este caso el campo field_stock_mail del tipo de taxonomía.

Por lo tanto el token final sería:

{{ node.field_company_stock.entity.field_stock_mail }}