2010-12-13 9 views
5

he construido un constructor de la forma, y ​​Necesito la capacidad de asignar la descripción de todas las opciones en un elemento de la radio. Tras la creación de este elemento de radio, solicito al usuario que asigne a cada valor una descripción, que se debe mostrar al lado del elemento. Entonces, en mi base de datos, tengo un valor, un título y una descripción para cada opción en este elemento de radio.Poner un poco de HTML junto a un botón de opción en el formulario de Zend

La pregunta: ¿Cómo coloco algo al lado de un elemento de radio? ¿Tengo que crear una nueva forma para que la forma rinda elementos de radio, o puede hacerse a través de decoradores?

¡Cualquier cosa ayuda, la lectura útil también es bienvenida!

Una representación de lo que necesito:

**A title of the Radio element** 
     O Option 1  - A description for option 1  
     O Option 2  - A description for option 2  
     O Option 3  - A description for option 3  
     O Option 4  - A description for option 4  

¿Alguna idea?

Respuesta

12

Es difícil de decir por su pregunta, pero ¿dónde está el botón de opción real en su marcado?

Si es hacia la izquierda o derecha de la etiqueta de la opción, sólo tiene que utilizar la etiqueta para entrar en su margen de beneficio extra y establecer la propiedad del ViewHelper escape a false para permitir HTML


Por ejemplo

$form->addElement('radio', 'test', array(
    'label' => '**A title of the Radio element**', 
    'multiOptions' => array(
     1 => 'Option 1 <strong>- A description for option 1</strong>', 
     2 => 'Option 2 <strong>- A description for option 2</strong>' 
    ), 
    'escape' => false 
)); 

Parece que este

Form Screenshot

+0

El botón de opción tiene un formato. Y lo que quiero hacer es tener una descripción de las opciones, no el elemento de radio en sí. No creo que exista una etiqueta de opción, solo hay un valor y un título allí. Ni siquiera creo que haya decoradores de opciones, ya que los separadores son hechos por una etiqueta en la clase. Pensé que podría haber una forma de usar el separador para mis propósitos, pero no creo que sirva. –

+1

@ Janis Cada opción del botón de opción tiene un valor y una etiqueta. Estos se establecen a través de pares clave => valor al agregar las múltiples opciones. Puede colocar la etiqueta de opción antes (preceder) o después (adjuntar) el elemento de botón de radio, así como informar al decorador de ViewHelper de que no desea evitar el marcado en las etiquetas. – Phil

+0

Ok, esto suena prometedor. ¿Podrían darme algún tipo de ejemplo de cómo podría lograr esto? ¡Gracias! –

0

Mira el tutorial que escribí para resolver este problema.

http://wesleyalmeida.net/what-ive-learned/how-to-decorate-a-radio-element-in-zend/

+0

En su caso (marcado complejo), me habría ido con un decorador personalizado y/o ver ayudante. – Phil

+0

No he visto un buen decorador personalizado que haya funcionado para los elementos del grupo de radio. Ser capaz de agregar HTML a la etiqueta ha sido la mejor opción y más fácil de trabajar que decoradores que están mal documentados. ¿Sabes dónde hay un buen tutorial sobre decoradores de elementos de radio? ¡La documentación es horrible! – Wes

Cuestiones relacionadas