Botones de opción de Zend_Form

Quiero el siguiente HTML:

<form name="input" action="post" method="get">
    <label>1</label><input type="radio" value="1" name="rating" />
    <label>2</label><input type="radio" value="2" name="rating" /> 
    <label>3</label><input type="radio" value="3" name="rating" /> 
    <label>4</label><input type="radio" value="4" name="rating" /> 
    <label>5</label><input type="radio" value="5" name="rating" /> 
    <input type="submit" value="Submit" />
</form>

En mi proyecto de zend framework, ¿cómo hago esto con Zend_Form? He probado algunos fragmentos de código de muestra de ciertos blogs, pero no funcionan.

Muchas Gracias

preguntado el 03 de mayo de 12 a las 14:05

¿Qué intentaste exactamente y por qué no funcionó? -

Intenté esto zendguru.wordpress.com/2009/03/05/… y me sale el error -> setSeperator no es una función. -

1 Respuestas

Puede usar el decorador de ViewScript para crear el marcado que necesita. En su clase de formulario, cree el elemento de radio y use el método setDecorators para asignar el decorador viewscript para este elemento

$element = new Zend_Form_Element_Radio('rating');
$element->addMultiOptions(array(
    '1' => '1',
    '2' => '2',
    '3' => '3',
    '4' => '4',
    '5' => '5'
))
    ->setDecorators(array(array('ViewScript', array('viewScript' => 'radio.phtml'))));
$this->addElement($element);

luego cree el archivo radio.phtml dentro de su directorio views/scripts con lo siguiente

<?php foreach ($this->element->getMultiOptions() as $label => $value) : ?>
<label><?php echo $label; ?></label><input type="radio" value="<?php echo $value; ?>" name="<?php echo $this->element->getName(); ?>" />
<?php endforeach; ?>

contestado el 03 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.