> Thread > modulexml > CopixFile > CopixUser > Socket > CopixI18N > CopixAuth > tag_select
fr en

Présentation

Le tag select vous permet de générer une combobox (select/options) facilement à partir d'un tableau de valeurs ou d'un tableau d'objets.

Exemple Smarty


{select name="champ" values=$arData selected=1}
 

Exemple PHP


_eTag ('select', array ('name'=>'champ', 'values'=>$arData, 'selected'=>1));
 

Présentation des paramètres supplémentaires

Spécifier les clefs/valeurs


{select name=select values="1=>MySQL;2=>Postgres;3=>SQLite;4=>SQLServer;5=>Oracle"|toarray}
 

Indiquer l'élément sélectionné avec selected


{select name=select selected=2 values="1=>MySQL;2=>Postgres;3=>SQLite;4=>SQLServer;5=>Oracle"|toarray}
 

Changer le libellé de la valeur vide


{select emptyValues="--Aucun--" name=select values="1;2;3;4;5"|toarray}
 

Changer le libellé et la valeur de la valeur vide


{select emptyValues="KO=>--Aucun--" name=select values="1;2;3;4;5"|toarray}
 

Ne pas afficher de valeur vide


{select emptyShow=false name=select values="1;2;3;4;5"|toarray}
 

Spécifier un id différent du name


{select 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;
 

{select name=select id=autrechose values=$ppo->arObjects objectMap="id;caption"}
 

Paramètre extra pour rajouter des informations à la balise


{select 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".


{select name="champ" values=$arData assign=variable}
{if $condition}
 {$variable}{* on affiche la sélection uniquement si $condition *}
{/if}