Présentation
Le tag multipleselect vous permet de générer une liste qui ressemble a la combobox select mais qui permet de cocher plusieurs valeurs
Exemple Smarty
{mulipleselect name="champ" values=$arData selected=1}
Exemple PHP
_eTag ('multipleselect', array ('name'=>"champ", 'values'=>$arData 'selected'=>1));
Présentation des paramètres supplémentaires
Spécifier les clefs/valeurs
{multipleselect name=select values="1=>MySQL;2=>Postgres;3=>SQLite;4=>SQLServer;5=>Oracle"|toarray}
Indiquer l'élément sélectionné avec selected
{mulipleselect name=select selected=2 values="1=>MySQL;2=>Postgres;3=>SQLite;4=>SQLServer;5=>Oracle"|toarray}
{mulipleselect name=select selected="2;3;4"|toarray values="1=>MySQL;2=>Postgres;3=>SQLite;4=>SQLServer;5=>Oracle"|toarray}
Spécifier un id différent du name
{multipleselect name=select id=autrechose values="1;2;3;4;5"|toarray}
Utiliser un tableau d'objet et spécifier les clefs / valeurs
Ici nous avons un tableau d'objet avec les propriétés id/caption. Nous allons indiquer à la balise que id est la valeur de l'option et que caption est son libellé dans le paramètre objectMap.
le tableau d'objet est déclaré comme suit :
$arObjects = array (); $obj = new StdClass (); $obj->id = '1'; $obj->caption = 'libellé 1'; $arObjects[] = $obj; $obj = new StdClass (); $obj->id = '2'; $obj->caption = 'libellé 2'; $arObjects[] = $obj; //On passe le tableau au template via PPO $ppo->arObjects = $arObjects;
{multipleselect name=select id=autrechose values=$ppo->arObjects objectMap="id;caption"}
Paramètre extra pour rajouter des informations à la balise
{multipleselect extra='style="background-color: #ccc;"' name=select values="1;2;3;4;5"|toarray}
(spécifique à Smarty) assigner le retour dans une variable
Il existe des cas ou vous pouvez souhaiter ne pas afficher directement le select et mettre le retour du tag dans une variable, que vous utiliserez plus tard.
Utilisez le paramètre "assign".
{multipleselect name="champ" values=$arData assign=variable}
{if $condition}
{$variable}{* on affiche la sélection uniquement si $condition *}
{/if}
