2

私は Drupal をまったく初めて使用し、サインアップしたユーザーのグループに別の登録メールを送信することを目標の 1 つとするプロジェクトに取り組んでいます。私の考えは、ユーザーの役割によって決定される電子メールで使用できるトークンを作成することでした。私は user.module に入り、これに追加しました。役割;

if($welcomer == 'Student Member'){
$copying = "SPECIAL EMAIL TEXT";
}
else{
$copying = "GENERAL EMAIL TEXT";
} ?>

次に、トークンセクションでこれを設定しました

<?php '!sendit' => $copying, ?>

これまでのところ、使用された場合、else ステートメントがトリガーに失敗したとしても、これは何もしません。だから私の質問は、これについてどうすればいいですか?これは最適な方法ですか、それとももっと簡単な方法はありますか?

4

1 に答える 1

0

Drupal コアをハッキングしないでください。Drupal を更新すると、すべてのコードが失われます。

現時点ではテストする環境がないため、このコードはテストされていませんが、次のようなものが必要です。

function yourModuleName_form_user_register_alter(&$form, &$form_state) {
    // Add your own function to the array of submit callbacks
    $form['#submit'][] = 'yourModuleName_user_register_submit';
}

function yourModuleName_user_register_submit($form, &$form_state) {
    // I don't think this line is correct but don't have an environment to test in at the moment
    // Do a print_r here on $form_state['values'] and see where the user roles are stored
    $roles = $form_state['values']['roles'];

    if(in_array('Student Member', $roles) {
        // send student email here
    } elseif(in_array('Teacher Member', $roles) {
        // send teacher email here
    }
}
于 2012-12-20T12:03:24.180 に答える