2012-07-04 5 views
0

저는 drupal을 처음 사용 했으므로 성공적으로 수행 한 로그인 양식을 만들어야합니다. 하지만 내가 로그인 할 때 양식을 swtich로 작성하여 세부 정보를 편집 할 수있는 다른 양식을 만들고 싶습니다.Drupal 7 사이의 전환

양식간에 전환하는 방법을 찾는 데 어려움이 있습니다.

<?php 

/** 
* Implements hook_help. 
* 
* Displays help and module information. 
* 
* @param path 
* Which path of the site we're using to display help 
* @param arg 
* Array that holds the current path as returned from arg() function 
*/ 

function login_kms_help($path, $arg) { 
    switch ($path) { 
    case "admin/help#login": 
     return '<p>'. t("Creates login module") .'</p>'; 
     break; 
    } 
} 

/** 
* Implements hook_block_info(). 
*/ 
function login_kms_block_info() { 
    $blocks['login_kms'] = array(
    'info' => t('Login KMS'), //The name that will appear in the block list. 
    'cache' => DRUPAL_CACHE_PER_ROLE, //Default 
); 
    return $blocks; 
} 

function login_kms_block_view($delta = '') { 
    $block = array(); 
    if($delta == 'login_kms') { 
    $block['subject'] = 'Login'; 
    $block['content'] = drupal_render(drupal_get_form('login_kms_form_mode0')); 
    } else if($delta == 'login_kms'){ 
    $block['subject'] = 'Edit'; 
    $block['content'] = drupal_render(drupal_get_form('login_kms_form_mode1')); 
    } 
    return $block; 
} 

function login_kms_form_mode0() { 
    $form['username'] = array(
    '#type' => 'textfield', 
    '#title' => t('Username:'), 
); 
    $form['password'] = array(
    '#type' => 'password', 
    '#title' => t('Password:'), 
); 
    $form['Log in'] = array(
    '#type' => 'submit', 
    '#value' => t('Log in'), 
); 
    return $form; 
} 

function login_kms_form_mode1(){ 
    $form['username'] = array(
    '#type' => 'textfield', 
    '#title' => t('mode1'), 
); 
} 

function login_kms_form_submit($form, &$form_state) { 
    $mysql_user = $form_state['values']['username']; 
    $mysql_pass = $form_state['values']['password']; 
// drupal_set_message(t($mysql_pass)); 
// some logic 

} 

답변

0

당신은 단순히 drupal_goto()는 다른 형태로 로그인 한 사용자 리디렉션 할 수 있습니다.

global $user; 
if(!empty($user->uid) || $user->uid > 0) 
{ 
    drupal_goto("my/new/page"); 
} 

희망이 작동 ... 무하마드.

1

첫 번째 방법은 drupal_goto ("my_path")를 사용하는 것입니다. 둘째로 "right"는 $ form_state [ 'redirect'] 또는 $ form [ '# redirect']을 사용하고 있습니다.

function login_kms_form_submit($form, &$form_state) { 
$mysql_user = $form_state['values']['username']; 
$mysql_pass = $form_state['values']['password']; 
// drupal_set_message(t($mysql_pass)); 
// some logic 
$form_state['redirect'] = 'user/to_the_new_form'; 

}