私はdrupal-6.22で電子メール登録モジュール&を使用してdanlandテーマを使用してカスタムログインフォームを作成しようとしています。 電子メールを使用したカスタム水平ログインがdrupalで機能していません6
はtemplate.phpファイルに私はfunction get_user_login_form() {
$form_id = 'user-login-form';
$form = array();
$form['name'] = array(
'#type' => 'textfield',
'#maxlength' => USERNAME_MAX_LENGTH,
'#required' => TRUE,
'#size' => 10,
'#attributes' => array('tabindex' => '1','title'=>'E-mail'),
);
$form['pass'] = array(
'#type' => 'password',
'#required' => TRUE,
'#size' => 10,
'#attributes' => array('tabindex' => '2','title'=>'Password'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t(''),
'#weight' => 2,
'#attributes' => array('tabindex' => '3')
);
$form['#validate'] = user_login_default_validators();
$form['#build_id'] = sprintf('form-%s', md5(uniqid(mt_rand(), TRUE)));
$form_state = array();
drupal_prepare_form($form_id, $form, $form_state);
drupal_process_form($form_id, $form, $form_state);
$out = new stdClass;
$out->form_start =
sprintf("<form method='post' accept-charset='UTF-8' action='%s'>",
url('user/login'));
$out->form_end = "</form>";
$out->name = drupal_render($form['name']);
$out->pass = drupal_render($form['pass']);
$out->submit =
drupal_render($form['form_id']) .
drupal_render($form['form_build_id']).
drupal_render($form['submit']);
return $out;
}
として、いくつかの変更を行い、page.tpl.phpで、私は、電子メールが、そのないを使用してログインしようとしています、その後
<?php
$login_form = get_user_login_form();
?>
<?php print $login_form->form_start; ?>
<div class="name-tag"><?php print $login_form->name; ?></div><div class="pass-tag"><?php print $login_form->pass; ?></div><div class="submit-tag"><?php print $login_form->submit; ?></div>
<?php print $login_form->form_end;
?>
このコードを挿入しましたワーキング。私は属性その作業をタグに「タイトル」=>「名前」には「title」=>「メール」を変更する電子メール登録モジュール&を無効にしていた場合、このコードはこことして
<form method='post' accept-charset='UTF-8' action='/dru/user/login'> <div class="name-tag"><div class="form-item" id="edit-name-1-wrapper">
<input type="text" maxlength="60" name="name" id="edit-name-1" size="10" value="" tabindex="1" title="E-mail" class="form-text required" />
</div>
</div><div class="pass-tag"><div class="form-item" id="edit-pass-1-wrapper">
<input type="password" name="pass" id="edit-pass-1" maxlength="128" size="10" tabindex="2" title="Password" class="form-text required" />
</div>
</div><div class="submit-tag"><input type="hidden" name="form_id" id="edit-user-login-form" value="user-login-form" />
<input type="hidden" name="form_build_id" id="form-8d944c2ceca0b8a4141c73564d35b69b" value="form-8d944c2ceca0b8a4141c73564d35b69b" />
<input type="submit" name="op" id="edit-submit-2" value="" tabindex="3" class="form-submit" />
</div>
</form>
ようなHTMLフォームを生成しています名前のための細かい。どんなCSS IDであれ、HTML出力に余分なテキスト "-1"を追加しています。私はそれが問題を作り出していると思う。
私はそれを使用しようとしていますが、私はユーザー名と電子メールIDの両方を使用してログインできますが、ここでの制限はログイン用の電子メールIDのみを使用することです。私はこれを探しているので、ページのヘッダー部分にも。 ありがとう – Sumant