Как включить в уведомление о регистрации дополнительные поля из профиля?[Решено]

Аватар пользователя mayar mayar 13 сентября 2011 в 16:05

Как включить в уведомление о регистрации дополнительные поля из профиля?
Либо как отключить стандартные уведомления пользователя и администратора о регистрации? (дабы пользовать правила)

Комментарии

Аватар пользователя mayar mayar 14 сентября 2011 в 13:18

Сделал так:
В самописном модуле использовал хук hook_mail_alter().
Допустим есть сайт, где все регистрации подтверждаются админом и поле "companyname". Тогда:

/**
 * Implements hook_mail_alter().
 */

function dreamwifi_module_mail_alter(&$message) {
    //Уведомление админа.
    if ($message['id'] == 'user_register_pending_approval_admin') {
            //print_r($message); exit;
            $message['body'][] = 'Компания: '.$message['params']['account']->field_companyname['und'][0]['value'];
    }
    //Уведомление пользователя
    if ($message['id'] == 'user_register_pending_approval') {
            //print_r($message); exit;
    }

}

Аватар пользователя unome unome 27 июля 2014 в 20:50

"Goodseeker" wrote:
Ищу решение отключить системную отправку писем.

Все стандартные проходят через _user_mail_notify()

function _user_mail_notify($op, $account, $language = NULL) {
  // By default, we always notify except for canceled and blocked.
  $default_notify = ($op != 'status_canceled' && $op != 'status_blocked');
  $notify = variable_get('user_mail_' . $op . '_notify', $default_notify);
  if ($notify) {
  ...

Соответственно, можно выставить переменные, отвечающие за отправку писем, которые не нужно отправлять в FALSE.
Прямо в settings.php, например, для отключения отправки письма когда не требуется подтверждения и пользователь сразу логинится

  ...
  $conf['user_mail_register_no_approval_required_notify'] = FALSE;
  ...