Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Personnalisation et surcharge du Login Utilisateur, enregistrement et réinitialisation du mot de passe

Traduction de la page http://drupal.org/node/350634
publiée / actualisée le 1 Mars 2011 sur drupal.org


Personnaliser le login Utilisateur, l'enregistrement et la réinitialisation du mot de passe est assez simple et utilise les concepts suivants :

  • pré-traitement pour initialiser les variables
  • dépôt des fonctions dans le registre de thèmes
  • création d'un ou plusieurs gabarits de thèmes.

Étape 1

Dans le dossier principal de votre thème, créez ou éditez votre fichier template.php.

Étape 2

Recherchez une fonction appelée yourtheme_theme() et modifiez-la pour lui ajouter ces valeurs retour ou, si elle n'existe pas, ajoutez le code suivant :

<?php
/**
* Registers overrides for various functions.
*
* In this case, overrides three user functions
*/
function yourtheme_theme() {
  return array(
    
'user_login' => array(
      
'template' => 'user-login',
      
'arguments' => array('form' => NULL),
    ),
    
'user_register' => array(
      
'template' => 'user-register',
      
'arguments' => array('form' => NULL),
    ),
    
'user_pass' => array(
      
'template' => 'user-pass',
      
'arguments' => array('form' => NULL),
    ),
  );
}
?>

Remarques sur ce code :

  • Modifiez le nom de la fonction : remplaçez « yourtheme » par le nom de votre thème.
  • La valeur de template peut être la même pour les trois items. Dans cet exemple, on utilise un gabarit différent pour chaque cas : user-login, user-register et user-pass.
  • Le nom du gabarit doit utiliser un tiret et non un signe souligné.
  • C'est bien user_pass et non user_password.

 

Étape 3

Maintenant, implémentez trois fonctions de pré-traitement (pre-process functions). Il y a de meilleures façons de coder ce qui suit, mais ça marche aussi très bien comme ça, alors n'hésitons pas !

<?php
function yourtheme_preprocess_user_login(&$variables) {
  
$variables['intro_text'] = t('This is my awesome login form');
  
$variables['rendered'] = drupal_render($variables['form']);
}

function 
yourtheme_preprocess_user_register(&$variables) {
  
$variables['intro_text'] = t('This is my super awesome reg form');
  
$variables['rendered'] = drupal_render($variables['form']);
}

function 
yourtheme_preprocess_user_pass(&$variables) {
  
$variables['intro_text'] = t('This is my super awesome insane password form');
  
$variables['rendered'] = drupal_render($variables['form']);
}
?>

Remarques sur ce code :

  • Modifiez le nom de la fonction : remplaçez « yourtheme » par le nom de votre thème.
  • La ligne $variables['intro_text'] place le texte qui la suit dans la variable $variables, qui est, par la suite, acheminée au gabarit via la variable $intro_text.
  • La deuxième ligne façonne le formulaire et ajoute le code dans le tableau $variables, qui est passé au gabarit via la variable $rendered.

Étape 4

Créez les gabarits dont les noms correspondront aux valeurs passées à l'item template. Dans cet exemple nous n'avons besoin que de deux fichiers : user-login.tpl.php et user-register.tpl.php (veillez à taper un tiret et non un signe souligné)

Étape 5

Copiez le code suivant dans le fichier user-login.tpl.php. Modifiez-le si besoin pour user-login.tpl.php et user-register.tpl.php:

<?php  print  $intro_text ;  ?> </p>
<div class="my-form-wrapper">
  <?php print $rendered ?>
</div>
?>

 

Étape 6

Sauvegardez ces fichiers dans le dossier principal de votre thème.

Étape 7

Reconstruisez le cache : menu Administrer » Configuration du site » Performance » clic sur « Supprimer les données du cache » en bas de la page.

Maintenant, votre page de connexion Utilisateur contiendra le nouveau texte issu de la fonction de pré-traitement, et les fichiers tpl.php pourront être modifiés pour répondre aux besoins de votre site.