2015-03-26 7 views
0

Я пытаюсь отправить 2-е сообщение на мои сайты администратора, когда пользователь регистрируется.Login plugin Крючки не работают

Я сделал фрагмент postHook, который отправляет электронное письмо, но он не работал - процесс регистрации работал должным образом, но у меня не было 2-го электронного письма с крючка.

В ходе тестирования я установил крючок из postHook в preHook и попробовал еще раз - на этот раз форма вообще не обрабатывалась - новый пользователь не был создан и не было отправлено ни одной электронной почты активации. Он даже не перенаправлялся на представленный ResourceId.

Итак, я удалил все в своем фрагменте preHook, за исключением return true; и попробовал еще раз - все равно ничего.

Похоже, что вы не запустите какие-либо крючки. Понятия не имею почему.

Может ли кто-нибудь предложить какие-либо исправления?

Мой регистр Фрагмент кода:

[[!Register? 
    &submitVar=`registerbtn` 
    &activationResourceId=`19` 
    &activationEmailTpl=`lgnActivateEmailTpl` 
    &activationEmailSubject=`Thanks for Registering!` 
    &submittedResourceId=`23` 
    &usergroups=`2` 
    &validate=`nospam:blank, 
    username:required:minLength=^6^, 
    password:required:minLength=^6^, 
    password_confirm:password_confirm=^password^, 
    fullname:required, 
    email:required:email` 
    &preHooks=`adminEmailHook` 
]] 

ответ

1

Я сделал что-то подобное раньше. Существует мой код:

[[!Register? &postHooks=`sendMessageToAdmin` 

Отрывок sendMessageToAdmin:

<?php 
    $message = 'Auto message:<br><br>A new user signed up: '.$hook->getValue('fullname') . ', using email address '.$hook->getValue('email').'.'; 

    $modx->getService('mail', 'mail.modPHPMailer'); 
    $modx->mail->set(modMail::MAIL_BODY,$message); 
    $modx->mail->set(modMail::MAIL_FROM,'[email protected]'); 
    $modx->mail->set(modMail::MAIL_FROM_NAME,'My website'); 
    $modx->mail->set(modMail::MAIL_SENDER,'Auto message from my website'); 
    $modx->mail->set(modMail::MAIL_SUBJECT,'Someone signed up'); 
    $modx->mail->address('to','[email protected]'); 
    $modx->mail->setHTML(true); 
    if (!$modx->mail->send()) { 
     $modx->log(modX::LOG_LEVEL_ERROR,'sendMessageToAdmin: An error occurred while trying to send the email: '.$err); 
    } 
    $modx->mail->reset(); 
    /* tell our snippet we're good and can continue */ 
    return true; 
Смежные вопросы