2010-12-02 19 views
8

Considerar Me gustaría mostrarCómo agregar etiquetas HTML personalizadas con Zend Descripción del formulario

Casilla de verificación, etiqueta de casilla de verificación y una imagen allí después.

¿Cómo puedo crear una vista de la misma utilizando el Formulario Motor Zend

Traté de la siguiente manera

$this->addElement(
      'Checkbox', 
      "$key", 
      array(
      'label'=>$value, 
       'checkedValue' => "$key", 
       'uncheckedValue' => '', 
       'checked' => true, 
      'disabled' => false, 
     ) 
     ); 

    $element = $this->getElement($key);   


     $element->setDecorators(
    array(
    'ViewHelper', 
    array('Label', array('tag' => 'dt', 'class'=>'hidden')), 
    array('Description',array('escape'=>false,'tag'=>' span')), //escape false because I want html output 
    ) 
    ); 

    $element->setDescription('<img name="help_'.$key.'" id="help_'.$key.'" src="/application/modules/User/externals/images/what-is-this.gif"/>'); 

$element->setDescription('<img name="help_'.$key.'" id="help_'.$key.'" src="/application/modules/User/externals/images/what-is-this.gif"/>'); 

Pero lo que muestra la imagen Descripción casilla de verificación, y la etiqueta de casilla como superíndice.

Cualquier ayuda por favor

Respuesta

2

Mira la AnyMarkup Decorator.

Puede agregar ese decorador a la lista de decoradores de elementos, especificando el marcado para la imagen con una posición APPEND.

19
$element->getDecorator('Description')->setEscape(false); 

Esto evitará que se escape el contenido de la descripción.

+0

+1 esto funciona! no es necesario ir a AnyMarkup Decorator. – emaillenin

+1

También es útil saber que si desea deshacer la configuración de la descripción directamente en el formulario ($ this), puede usar $ this-> getDecorator ('Description') -> setOption ('escape', false); – danronmoon

Cuestiones relacionadas