HTML_QuickForm_advmultiselect::setElementTemplate

HTML_QuickForm_advmultiselect::setElementTemplate() – Définir le gabarit de l'élément

Synopsis

require_once 'HTML/QuickForm/advmultiselect.php';

void HTML_QuickForm_advmultiselect::setElementTemplate ( string $html = NULL , boolean $js = TRUE )

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 des options disponibles

label_3

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

unselected

La liste des options disponibles

selected

La liste des sélections actives

add

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

remove

Le bouton pour déplacer une occurence (ou plus) vers la liste des options disponibles

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.

movetop

Le bouton pour déplacer une sélection active tout en haut de la liste.

movebottom

Le bouton pour déplacer une sélection active tout en bas de la liste.

Parameter

string $html

(optionnel) le gabarit HTML

boolean $js

(optionnel) si vous voulez embarquer le gestionnaire javascript avec l'élément

Throws

Lance aucune exception

Note

Depuis la version 0.4.0 (2005-06-25)

This function can not be called statically.

Example

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);

// ....
?>