PEAR logo

HTML_QuickForm_advmultiselect : La Référence



Nom

HTML_QuickForm_advmultiselect::setElementTemplate - Définir le gabarit de l'élément

Synopsis

      require_once 'HTML/QuickForm/advmultiselect.php';
     
void HTML_QuickForm_advmultiselect::setElementTemplate( $html);
string $html;

Description

Il est si facile de positionner les listes de sélection, les entêtes et les boutons. Le gabarit est un morceau de code html avec des marquages (mots réservés). Ceux-ci sont :

stylesheet

Le code CSS délimité par les balises style nécessaire seulement à la forme liste unique avec cases à cocher. N'est pas inclus dans le gabarit par défaut. Vous pouvez utiliser à la place la méthode getElementCss().

javascript

Le code JavaScript délimité par les balises script nécessaire à la gestion des listes de sélection. Si le marquage n'est pas inclus dans le gabarit, vous pouvez utiliser à la place la méthode getElementJs().

class

Un identificateur de classe CSS dans une de vos feuilles de styles qui correspond au groupement par défaut. Le défaut correspondant à :

          
<table border="0" cellpadding="10" cellspacing="0">
          
         
label_2

L'entête de la liste d'attente

label_3

L'entête de la liste des sélections actives

unselected

La liste d'attente

selected

La liste des sélections actives

add

Le bouton pour déplacer une occurence (ou plus) de la liste d'attente vers la liste des sélections actives.

remove

Le bouton pour déplacer une occurence (ou plus) de la liste des sélections actives vers la liste d'attente.

moveup

Le bouton pour déplacer une sélection active vers le haut de la liste.

movedown

Le bouton pour déplacer une sélection active vers le bas de la liste.

Paramètres

string $html

Le gabarit HTML

Valeurs renvoyées

Aucune

Note

depuis la version 0.4.0

Cette fonction ne peut pas être appelée de façon statique.

Exemple

Dans cet exemple partiel, les listes de sélection des fruits sont agencées de façon vertical, avec des images pour les boutons d'échange. La présentation par défaut étant horizontale avec des boutons d'échange de type text au milieu des deux listes.

  1. <?php
  2. require_once 'HTML/QuickForm.php';
  3. require_once 'HTML/QuickForm/advmultiselect.php';
  4.  
  5. $form = new HTML_QuickForm('ams');
  6. $form->removeAttribute('name');        // XHTML compliance
  7.  
  8. $fruit_array = array(
  9.     'apple'     =>  'Apple',
  10.     'orange'    =>  'Orange',
  11.     'pear'      =>  'Pear',
  12.     'banana'    =>  'Banana',
  13.     'cherry'    =>  'Cherry',
  14.     'kiwi'      =>  'Kiwi',
  15.     'lemon'     =>  'Lemon',
  16.     'lime'      =>  'Lime',
  17.     'tangerine' =>  'Tangerine',
  18. );
  19.  
  20. $ams =& $form->addElement('advmultiselect', 'fruit', null, $fruit_array);
  21. $ams->setLabel(array('Fruit:', 'Available', 'Selected'));
  22. $ams->setButtonAttributes('add',    array('type' => 'image', 'src' => '/img/down.png'));
  23. $ams->setButtonAttributes('remove', array('type' => 'image', 'src' => '/img/up.png'));
  24.  
  25. // vertical select box with image buttons as selector
  26. $template = '
  27. <table{class}>
  28. <!-- BEGIN label_2 --><tr><th align="center">{label_2}</th></tr><!-- END label_2 -->
  29. <tr>
  30.   <td>{unselected}</td>
  31. </tr>
  32. <tr>
  33.   <td align="center">{add}{remove}</td>
  34. </tr>
  35. <tr>
  36.   <td>{selected}</td>
  37. </tr>
  38. <!-- BEGIN label_3 --><tr><th align="center">{label_3}</th></tr><!-- END label_3 -->
  39. </table>';
  40. $ams->setElementTemplate($template);
  41.  
  42. // ....
  43. ?>
HTML_QuickForm_advmultiselect : La Référence v 1.4.0 : 9 Juin 2007