Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Отправка e-mail двум пользователям после отправки формы Enity Forms. Как реализовать?

Отправка e-mail двум пользователям после отправки формы Enity Forms. Как реализовать?
, by

Всем доброе время суток!
Очень прошу опытных форумчан найти минутку и помочь новой друпалерше с реализацией следующей задачи.

Краткое введение:
Есть форма, создана с помощью Entity Forms. У этой формы есть поле 'Имя' и поле 'Node reference' через которое выводится заголовок нод текущего пользователя.
Это форма выводится на странице ноды через поле 'Entity Reference' (поле называется предложить свой материал).

Задача такая: после отправки этой формы должен отправляться e-mail автору ноды и человеку который отправляет эту форму.
В e-mail должно быть указано имя человека который отправил форму и название ноды, как ссылка на саму ноду.

Понимаю, что тут все делается с помощью Rules. E-mail текущего пользователя вижу как вытянуть (site:current-user:mail), а от email автора ноды, с которой отправляется форма, никак не найду и его здесь похоже нету.
И ссылки на контент не понимаю как реализовать.
В php коде самое малое знание. Думаю не достаточно точно для писание своего модуля.
За ранее буду всем очень благодарна.

Все это делается на Друпале 7.

1 answer
votes: 1228
Answer

Здравствуйте, никогда не использовал этот модуль, но думаю вы можете решить задачу отправки письма на уровне своего кастомного модуля:
1. Нужно навесить хук на отправку формы:

function checkout_confirm_email_form_alter(&$form, &$form_state, $form_id) {
  if($form_id == 'commerce_checkout_form_checkout') {
    $form['#submit'][] = 'checkout_confirm_email_form_submit';
  }
}

function checkout_confirm_email_form_submit($form, &$form_state) {    
    //здесь отправляем письмо, в $form_state должны быть данные
}


2. Дальше отправляем письмо:
https://api.drupal.org/api/drupal/includes!mail.inc/function/drupal_mail/7