2009-08-06 5 views
1

Je suis peut-être manquer quelque chose d'évident ici (je l'espère) ..... Je crée un module dans Drupal 6 qui se compose de quelques déclencheurs et actions. dans sa forme la plus simple, il se compose de:Drupal 'Envoyer un e-mail' action avancée

  1. Une action qui vérifie certains critères (événement qui doit être déclenchée une fois par mois et par utilisateur)
  2. Un déclencheur qui est déclenché pour chaque utilisateur que les critères est vrai Pour

J'aimerais autant que possible être géré via l'interface triggers/actions de Drupal car l'administrateur du site n'est pas un développeur. Le plan consiste à utiliser le trigger cron pour déclencher l'action en 1. qui déclenchera alors un trigger pour chaque utilisateur. L'administrateur du site sera alors en mesure de créer une action Envoyer un e-mail via l'interface des actions et l'accrocher au déclencheur à partir de 2.

La partie que je ne peux pas comprendre est la façon dont le destinataire de l'e-mail sera spécifié - le déclencheur de l'utilisateur sera déclenché à partir d'une action lancée par cron (c'est-à-dire pas dans un contexte utilisateur) - comment puis-je transmettre une variable qui peut être utilisée ici?

Merci,

Répondre

1

Triggers feu actions pas l'inverse.

L'utilisateur que vous passez à actions_do ne doit pas être l'utilisateur connecté. Vous pouvez interroger les utilisateurs que vous souhaitez envoyer un courriel et boucle thrhough les faire user_load puis un actions_do

quelque chose comme

foreach ($user_ids as $uid) { 
    $context_user = user_load(array('uid' => $uid)); 
    $context = array(
    'hook' => 'myhook', 
    'op' => $op, 
    'user' => $context_user, 
); 
    actions_do(array_keys($aids), $context_user, $context); 
} 
+0

ok donc pas besoin réel pour l'action à l'incendie de nouveaux déclencheurs, il pourrait tout faire les actions directement. Comment l'action 'envoyer un e-mail' peut-elle être créée à partir de l'interface pour utiliser l'utilisateur_contexte comme adresse e-mail? – Macros

+0

Je vais devoir m'en assurer, mais dans le code ci-dessus, en ce qui concerne l'action, il s'agit juste du contexte $ user, donc ça ne devrait pas être différent. –

+0

Finalement, nous avons eu l'occasion de revenir sur ce code - nous avons très bien travaillé avec le module token pour envoyer des courriels jetés. – Macros

Questions connexes