Les options cachées de Zend_View_Helper_FormRadio

Logo Zend Framework

La documentation sur les assistants de vue (view helpers) du Zend Framework est un peu sommaire, il faut se plonger dans le code source pour découvrir toutes les possibilités.

Prenons par exemple formRadio qui permet de créer des boutons radios. La signature de cet assistant de vue est la suivante :

<?php
function formRadio(
    
$name
    
$value null
    
$attribs null,
    
$options null,
    
$listsep "<br />\n"
)
?>

L'argument fantôme

L'argument listsep qui n'est pas documenté et qui permet de définir le code HTML qui sera inséré entre chaque bouton radio. Par défaut, il est initialisé avec un retour à la ligne, ce qui fait que les boutons radio se présenteront sur une colonne. Si on les veut tous sur la même ligne, il suffit de passer une chaine vide.

Les attributs "magiques"

On peut également définir le séparateur en le passant dans l'argument $attribs.

escape est un autre argument "magique" qui permet d'éviter que le libellé des options ne soit échappé.

Enfin, on dispose de l'attribut disable qui permet de désactiver toutes les options en passant true ou seulement certaines options en passant leurs clés dans un tableau.

<?php
// Désactive l'option 1
echo $this->formRadio(
    
'option'
    
0
    array(
        
'disable' => array(0)
    ), 
    array(
'Option 1''Option 2')
);
?>

Personnaliser les labels

On peut définir les attributs des label en les passant dans $attribs avec le préfixe label_ ou label.

<?php
// Ajoute une classe CSS radio
echo $this->formRadio('option'0, array('label_class' => 'radio'), 
    array(
'Option 1''Option 2')
);
?>

Produit le code HTML suivant :

<label class="radio" for="option-0">
    <input name="option" id="option-0" value="0" checked="checked" type="radio">
    Option 1
</label>
<br>
<label class="radio" for="option-1">
    <input name="option" id="option-1" value="1" type="radio">
    Option 2
</label>

Ajouter un commentaire