2010-08-31 2 views
1

У меня есть собрание типов контента, у которого есть поле референта узла CCK, которое относится к одному или нескольким узлам людей. Эти узлы людей содержат поле электронной почты CCK.Отправлять почту по адресу в другом узле в Drupal

Теперь я хочу отправить письмо всем людям, перечисленным на узле собрания, когда узел создан. Я не знаю, как это сделать, поскольку почтовые адреса находятся в разных узлах, поэтому я не могу просто отправить токенированную почту, так как эти адреса недоступны в качестве токенов (насколько я могу видеть).

Любая идея о том, как это сделать, желательно без написания настраиваемого модуля.

Edit:

Там, кажется, не быстрый и простой способ не делать этого, так что я, возможно, придется написать собственный код, чтобы сделать это. Я уже использую модуль правил, что было бы предпочтительным способом программного создания почтового действия? Должен ли я создавать почтовые материалы с нуля или я могу изменить какой-то существующий код?

ответ

1

Похоже, что вы можете быть в состоянии использовать комбинацию Rules, Views и Rules and Views Integration модулей для достижения вашей цели.

  1. Создайте представление, которое возвращает адрес электронной почты People, связанный с Meeting.
  2. Настройте представление для «рендеринга» его результатов в правило, отправляющее электронные письма к результирующим адресам.
  3. Создайте правило, выполняющее представление, созданное на шаге 1, когда создается Meeting.

Пожалуйста, обратите внимание, что я не пробовал Правила и Views интеграции себя, поэтому он не может работать, как я ожидал. Кроме того, я не уверен, если есть действие по электронной почте для Правила, которые будут принимать выходные данные вашего представления в качестве параметра.

+0

Спасибо, этот метод работает. Сочетание правил и взглядов абсурдно мощно, если несколько сложно. Вы можете создать набор правил, которые принимают параметры (которые доступны как tokes в правилах) и визуализировать представление к полям привязки наборов правил к параметрам. –

+0

@Fabian - Удивительно, мне придется попробовать это для себя скоро! – Greg

0

Я не уверен, что понимаю. От чтения вашего вопроса я бы ответил: «Правила» могут сделать это за вас. Но тогда в вашем редактировании вы говорите, что используете модуль правил и хотите создать почтовую операцию?

Может быть, я просто устал, но пожалуйста, подробно, и мы посмотрим, можем ли мы его :)

+0

Правила могут быть выполнены, если адрес электронной почты находится в одном узле, но он находится в другом узле, на который ссылается nodereferrer. Поэтому я не могу просто использовать «Отправить токенированную почту», так как адрес электронной почты не является одним из предоставленных токенов. Я думал о создании настраиваемого действия, которое затем могло бы читать почтовые адреса непосредственно из базы данных. –

Смежные вопросы