Présentation

Le tag radiobutton permet d'afficher un groupe de boutons radios (balise < input type="radio" />)

Exemple Smarty

{radiobutton name="monBouton" values="1=>OUI;2=>NON"|toarray}

Exemple PHP

<?php _eTag ('radiobutton', array ('name'=>'monBouton', 'values'=>array ('oui', 'non'))); ?>

Paramètres

name

Le paramètre (obligatoire) name permet de définir le nom du groupe de boutons radios.

values

Le paramètre values permet à partir d'un tableau clé/valeur de définir la valeur et le label respectifs de chacun des boutons radios du groupe.

Par exemple :

{radiobutton name="monBouton" values="1=>OUI;2=>NON"|toarray}

Produira le code suivant :

OUI NON

Voir aussi : La documentation du modificateur toarray.

objectMap

Si vous disposez d'un tableau d'objets pour définir le couple valeur/label de chacun des boutons radios, il vous suffit de le passer au paramètre values. Il est alors nécessaire de spécifier à quels attributs correspondent ces deux informations. C'est le rôle du paramètre objectMap.

Le paramètre objectMap permet de définir le mappage "attributValeur;attributLabel" à appliquer à l'objet reçu dans le paramètre values.

Par exemple, avec l'objet suivant :

class MonObjetRadio {
	var $valeur;
	var $label;

	public function __construct($valeur, $label) {
		$this->valeur = $valeur;
		$this->label = $label;
	}
    }

    //A passer au template
    $ppo->monObjet = array(new MonObjetRadio("1", "Oui"), new MonObjetRadio("2", "Non"));

Le code Smarty suivant:

{radiobutton name="monBouton" values=$ppo->monObjet objectMap="valeur;label"}

Produira le code suivant :

Oui Non

selected

Le paramètre selected permet de définir l'identifiant de l'élément pré-sélectionné par défaut. Cet identifiant s'applique à une valeurs définies via le paramètre values.

Par exemple :

{radiobutton name="monBouton" values="1=>OUI;2=>NON"|toarray selected="2"}

Produira le code suivant :

OUI NON

extra

Le paramètre extra sert à définir un texte libre qui sera inséré dans le code de la balise HTML produit par Smarty. Cela vous permet donc de rajouter à votre guise des paramètres supplémentaires à votre groupe de boutons radios comme un id. Dans notre exemple, nous spécifions une classe CSS. Notez cependant que la plupart des styles ne fonctionnent pas très bien avec les boutons radio.

Par exemple :

{radiobutton name="monBouton" values="1=>OUI;2=>NON"|toarray extra='class="classeRadio"'}

Produira le code suivant :

OUI NON

assign

Le paramètre assign permet d'indiquer le nom de la variable à laquelle sera assigné le code HTML produit par Smarty. Attention, en précisant ce paramètre, le bouton ne sera pas affiché mais seulement assigné à une variable.

{radiobutton name="monBouton" assign="maVariable"}

  {* et si l'on souhaite ensuite l'utiliser *}
  {$maVariable}

Voir aussi