Changer la taille d'un champ de saisie CCK

in

Date du document en anglais : 10 Septembre 2008 - 20h19 http://drupal.org/node/186019

Surcharger la largeur par défaut d'un champ de saisie CCK se fait mieux dans un module personnalisé. Utilisez la fonction hook_form_alter() pour cibler l'ID de votre formulaire. Si vous ne connaissez pas cet ID, utilisez un <?php print($form_id); ?> au début de votre module personnalisé et Drupal vous indiquera tous les ID des formulaires utilisés.

Maintenant que vous connaissez l'ID du formulaire, utilisez form_alter pour modifier le #size de votre champ CCK :


<?php
function nameOfYourModuleGoesHere_form_alter($form_id, &$form) {
  if (
$form_id == 'idOfYourFormGoesHere') {
    
$form['nameOfYourCCKfieldGroup']['nameOfYourCCKinputField']['#size'] = 40;
  }
}
?>

Utilisez <?php print($form); ?> si vous avez besoin de voir les noms des CCKfieldGroup ou des CCKinputField.

Modifier le paramètre #size du champ de cette façon est plus pertinent que de le faire en surchargeant les styles CSS des classes de saisie car les CSS ne cibleront pas les file fields à cause des restrictions de sécurité des navigateurs..

Cette méthode form_alter présente l'avantage de pouvoir travailler sur les formulaires même quand les CSS sont désactivés, comme c'est le cas sur les premiers ordinateurs de poche.

Pour le thème Zen

Ajoutez ceci au fichier template.tpl.php de votre sous-thème :


<?php
function zen_file($element) {
  
_form_set_class($element, array('form-file'));
  return 
theme('form_element'$element'<input type="file" name="'$element['#name'] .'"'. ($element['#attributes'] ? ' 'drupal_attributes($element['#attributes']) : '') .' id="'$element['#id'] .'" size=\"40\"' ."\" />\n");
}
?>

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <css>, <php>, <html>, <ccss>, <ccss>, <drupal5>, <drupal6>, <html>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • You may use [view:viewname] tags to display listings of nodes.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question permet d'éviter le spam :
3 + 2 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.