it-swarm.com.de

Theming-Anmeldeseite - user - login.tpl.php

Ich versuche, die Login-Benutzerseite zu thematisieren, und es scheint, dass mir etwas fehlt und ich nicht herausfinden kann, was es ist.

folgendes habe ich getan:

Ich habe diesen Code zu meiner template.php hinzugefügt:

 Funktion mxblog_theme () {
 $ items = array (); 
 // Benutzerdefinierte Benutzeranmeldung erstellen.tpl.php 
 $ items ['user_login'] = array (
 'Element rendern' => 'Formular', 
 'Pfad' => drupal_get_path ('Thema', 'mxblog'). '/templates',
' Vorlage '=>' page - user - login ', 
' preprocess functions '=> array (
' mxblog_preprocess_user_login '
), 
); 
 return $ items; 
} 

und das versuche ich in der page - user - login.tpl.php zu rendern

   print drupal_render ($ form ['name']); 
 print drupal_render ($ form ['pass']); 
    print drupal_render ($ form ['form_build_id']); 
 print drupal_render ($ form ['form_id']); 
 print drupal_render ($ form ['action']);
3
Kitty77

Wenn Sie page - user - login.tpl.php verwenden, müssen Sie das Benutzeranmeldeformular manuell abrufen, da Sie die gesamte Seitenvorlage und nicht nur das Formular überschreiben.

Sie können dies entweder direkt in die Vorlage aufnehmen (zusammen mit jedem anderen Markup):

print drupal_render(drupal_get_form('user_login'));

Oder in Ihrer Funktion mxblog_preprocess_user_login () muss das folgende Formular zurückgegeben werden:

function mxblog_preprocess_user_login(&$variables){
  $variables['form'] = drupal_get_form('user_login');
}

dann sollten Sie in der Vorlage in der Lage sein, zu tun, was Sie wollen:

print drupal_render($form['name']);
print drupal_render($form['pass']);
print drupal_render($form['form_build_id']);
print drupal_render($form['form_id']);
print drupal_render($form['actions']);
1
tobynew

Vielen Dank für Ihre Antworten :) Für diejenigen, die interessiert sind, hier ist, was ich getan habe:

Ich habe eine user-login.tpl.php erstellt (beachten Sie das einzelne '-') und dann ein Hintergrundbild hinzugefügt:

.page-user-login {Position: fest; links: 0; oben: 0; Breite: 100%; Höhe: 100%;

hintergrund: URL ('xxx/login_BG_rezised.jpg') No-Repeat Center Center behoben; Hintergrundgröße: Cover;

}}

<div class="login-page">
<form class="login-form">

<span class = "login-form-info"> Inscription rapide et GRATUITE. </span>
 <input type="text" placeholder="Nom utilisateur" name="name" id="edit-name" required="required" class="form-text required"/>
 <input type="password" placeholder="Mot de passe" name="pass" id="edit-pass" required="required" class="form-text required" />

<input type="hidden" name="form_id" id="edit-user-login" value="user_login"  />
<input type="submit" name="op" id="edit-submit" value="Connectez-vous" class="form-submit" />

<p class="message">Pas de compte? <a target="_blank" href="https://xxx/user/register">Créez votre compte</a></p>
<p class="message">Mot de passe oublié? <a target="_blank" href="https://xxx/user/password">Renvoyez le moi</a></p>

es wurde ein CSS-Stil hinzugefügt, damit das Formular so aussieht, wie ich es wollte.

0
Kitty77