Rules: Encontrar campo en tipos de contenido enlazados

drupal.jpg
Solucionex
28
Ago 15

Al realizar una regla en Drupal nos podemos encontrar con algún problema a la hora de mostrar un campo de un tipo de contenido que está enlazado a otros tipos de contenidos, partiendo de "node". Especialmente si entre dichos enlaces está el módulo Profile2.

Es decir, queremos alcanzar node:campo_del_tc1:profile2:campo_del_tc2:campo, pero el campo que buscamos no nos aparece a la hora de seleccionarlo en las opciones al crear una acción de la regla. Sí nos ofrece los campos base de Drupal como pueden ser el autor, pero no los campos personalizados que hayamos creado en tc2.

Para alcanzar ese campo debemos crear previamente una condición de tipo "La entidad tiene el campo". En la "Entidad" pondremos toda la ruta enlazada hasta llegar al tipo de contenido final, que contiene el campo que buscamos. Siguiendo nuestro ejemplo: node:campo_del_tc1:profile2:campo_del_tc2. Y en el "Campo" buscaremos y seleccionaremos el campo que no nos aparece en la acción y queremos usar.

Guardamos la condición y nos vamos a crear una nueva acción. En el selector de datos ya podemos ir navegando por los nodos hasta llegar al campo que echábamos en falta, es decir: node:campo_del_tc1:profile2:campo_del_tc2:campo.