2012-12-19 1 views
2

저는 Drupal을 처음 접했을뿐입니다. 우리는 하나의 그룹에 다른 등록 이메일을 보내는 것이 목표입니다. 사용자가 가입 한 후 내 생각은 사용자의 역할에 따라 결정될 전자 메일에 사용할 수있는 토큰을 만드는 것이 었습니다. 나는 user.module에 들어가서 이것을 추가했다. 역할; Drupal 6.x는 역할에 따라 사용자에게 서로 다른 환영 전자 메일을 보냅니다.

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

다음 토큰 섹션에서 내가 지금까지 사용 된 경우
<?php '!sendit' => $copying, ?> 

을이 설정이 심지어 다른 문을 실행하는 데 실패, 아무것도하지 않습니다. 그래서 제 질문은, 제가 어떻게 이것에 대해 가겠습니까? 이것이 최적의 방법인가요? 또는 그것에 대해 갈 수있는 더 쉬운 방법이 있습니까?

+2

당신은 드루팔 코어를 해킹하지 말아야 내용은이 체크 아웃을 드루팔 (Drupal을 커스터마이징하는 방법 : http://stackoverflow.com/a/13644975/1068167 – span

답변

0

Don't hack the Drupal core 또는 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 
    } 
} 
+0

팁, 감사합니다. 당신이 작성한이 코드를 어떻게 사용합니까? 내가 말했듯이, 나는 drupal에 대한 경험이 거의 없다. – user1917147

+0

사용자 정의 모듈을 만들어 거기에 코드를 넣어야합니다. 여기에 튜토리얼이 있습니다 : http://drupal.org/node/361112 편집 : 그냥 Drupal 6에 대한 올바른 튜토리얼은 여기에 실현 : http://drupal.org/node/206753 –

관련 문제