entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como obtener email desde user_reference usando rules en Drupal 7

Tengo 2 tipos de contenidos asociados que son: "Cnt1" y "Cnt2"

Literalmente, un Cnt1 siempre debe tener asociado a 1 solo Cnt2 y este Cnt2 esta asociado a un usuario drupal.
Lo que intento hacer es que, cada vez que un contenido Cnt1 sea creado o editado se envie un email al usuario asociado.

El Cnt1 tiene un node_references field hacia Cnt2. Cnt2 tiene un user_reference hacia el usuario correspondiente.

Usando Rules mi pregunta es: ¿Como puedo llegar a obtener el email del usuario correspondiente con esta estructura?

En mi "Evento" seteo "Before saving content".
En mi "Condicion" seteo "Content is of type".
En mi "Accion" seteo:

  • Fecthing entity by property (node) para obtener el user_reference que necesito.
  • Fetching entity by id (user) para obtener, en base al anterior, el mail del usuario.
  • Send Email para usar el Token anterior que se genera.

Sin embargo, cuando se envia el email, no hay recipiente de envio.

1 Respuesta

1voto

Duex Puntos250

Postearé la solución que hice:

Escribí un pequeño codigo en PHP dentro del TextArea para poner el Email :

$customer_node = node_load( $node->field_customer['und'][0]['nid'] );
$account = user_load( $customer_node->field_user['und'][0]['uid'] );
print $account->mail;

Pero la mejor manera de hacerlo es llamando una función que esta dentro de un custom module que haga lo de arriba :

print _get_customer_email( $node );

Y la función seria:

function _get_customer_email( $node ){
  $customer_node = node_load( $node->field_customer['und'][0]['nid'] );
  $account = user_load( $customer_node->field_user['und'][0]['uid'] );
  return $account->mail;
}

Espero que a alguien le sirva.

0voto

Peter comentado

Si esto solucionó las cosas, por favor márcala como correcta.

Saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta