Exemple : affichage personnalisable

Référence en anglais sur drupal.org : 19 septembre 2009 - 00h23
http://drupal.org/node/581786


Exemple vite fait :

J'ai eu besoin de personnaliser le code HTML pour le bloc de recherche proposé par défaut, qui est créé par le module Search.

Cela peut se faire en utilisant la méthode fichier tpl.php :

  1. Copier, dans le dossier de votre thème le fichier search-block-form.tpl.php qui se trouve dans le dossier du module Search (modules/search et non sites/all/modules/search).
  2. Modifier ce fichier.

Dans le fichier tpl.php original, vous trouverez ce code-source :

<div class="container-inline">
  <?php print $search_form; ?>
</div>

Suivant les directives figurant dans ce fichier, j'ai simplement ôté l'instruction qui affiche le formulaire et je l'ai remplacée par le nouveau code HTML en charge de l'affichage :

<div class="container-inline">
<?php $search['search_block_form'] = '
   <div class="form-item" id="edit-search-block-form-1-wrapper">

     <input type="text" maxlength="128" name="search_block_form" id="edit-search-block-form-1" size="15" value="" title="Indiquez les mots à rechercher." class="form-text" />
     <br />
     <label for="edit-search-block-form-1">Chercher dans les articles et les commentaires</label>
    </div>';
   print $search['search_block_form'];
   print $search['submit'];
   print $search['hidden'];  
    ?>
</div>

Ce code a été prélevé dans le code-source de la page d'origine puis réorganisé pour répondre à mes besoins. Vous pouvez bien évidemment ajouter d'autres balises, d'autres contenu dont vous auriez besoin ou des CSS. Assurez-vous cependant de ne pas modifier les noms et les ID des éléments, faute de quoi le formulaire ne sera pas traité correctement.

Hope that helps !