void HTML_QuickForm_advmultiselect::setElementTemplate (
string
$html
= NULL
,
boolean
$js
= TRUE
)
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 :
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()
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()
Un identificateur de classe CSS dans une de vos feuilles de styles qui correspond au groupement par défaut. Le défaut correspondant à :
L'entête de la liste des options disponibles
L'entête de la liste des sélections actives
La liste des options disponibles
La liste des sélections actives
Le bouton pour déplacer une occurence (ou plus) vers la liste des sélections actives
Le bouton pour déplacer une occurence (ou plus) vers la liste des options disponibles
Le bouton pour déplacer une sélection active vers le haut de la liste
Le bouton pour déplacer une sélection active vers le bas de la liste.
Le bouton pour déplacer une sélection active tout en haut de la liste.
Le bouton pour déplacer une sélection active tout en bas de la liste.
(optionnel) le gabarit HTML
(optionnel) si vous voulez embarquer le gestionnaire javascript avec l'élément
Lance aucune exception
Depuis la version 0.4.0 (2005-06-25)
This function can not be called statically.
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.
<?php
require_once 'HTML/QuickForm.php';
require_once 'HTML/QuickForm/advmultiselect.php';
$form = new HTML_QuickForm('ams');
$form->removeAttribute('name'); // XHTML compliance
$fruit_array = array(
'apple' => 'Apple',
'orange' => 'Orange',
'pear' => 'Pear',
'banana' => 'Banana',
'cherry' => 'Cherry',
'kiwi' => 'Kiwi',
'lemon' => 'Lemon',
'lime' => 'Lime',
'tangerine' => 'Tangerine',
);
$ams =& $form->addElement('advmultiselect', 'fruit', null, $fruit_array);
$ams->setLabel(array('Fruit:', 'Available', 'Selected'));
$ams->setButtonAttributes('add', array('type' => 'image', 'src' => '/img/down.png'));
$ams->setButtonAttributes('remove', array('type' => 'image', 'src' => '/img/up.png'));
// vertical select box with image buttons as selector
$template = '
<table{class}>
<!-- BEGIN label_2 --><tr><th align="center">{label_2}</th></tr><!-- END label_2 -->
<tr>
<td>{unselected}</td>
</tr>
<tr>
<td align="center">{add}{remove}</td>
</tr>
<tr>
<td>{selected}</td>
</tr>
<!-- BEGIN label_3 --><tr><th align="center">{label_3}</th></tr><!-- END label_3 -->
</table>';
$ams->setElementTemplate($template);
// ....
?>