Foros del Web » Programando para Internet » PHP » Zend »

Zend_Form + Decoradores

Estas en el tema de Zend_Form + Decoradores en el foro de Zend en Foros del Web. Hola a todos, Estoy intentando trabajar con el Zend_Form, cada día investigo un poco más y logro llevarlo hacia donde me interesa. Sin embargo, hay ...
  #1 (permalink)  
Antiguo 28/07/2008, 21:43
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Zend_Form + Decoradores

Hola a todos,

Estoy intentando trabajar con el Zend_Form, cada día investigo un poco más y logro llevarlo hacia donde me interesa. Sin embargo, hay 3 detalles que vengo intentando descubrir hace un par de días y no doy con el punto justo.

Este es un ejemplo de la salida que obtengo
Código HTML:
<label for="nombre">Nombre &lt;span class=&quot;rojo&quot;&gt;(*)&lt;/span&gt;:</label><input type="text" name="nombre" id="nombre" value="" helper="formText" /><br /> 
1.- ¿Cómo elimino el atributo "helper"?
"solución": eliminar la entrada correspondiente (unset($atributos['helper'])) cuando llamo a getAttribs();

2.- La etiqueta "span" no se ve debido a que en el valor que le paso en mi decorador:

Código PHP:
        if ($element->isRequired()) {
            
$label .= ' <span class="rojo">(*)</span>';
        } 
se transforman los < y > en &lt; y &gt;. La intención es que muestre un asterisco rojo junto a los elementos requeridos.
El problema está en que Zend_View_Helper_FormLabel escapa la cadena que le paso, sin tener en cuenta el valor de la variable 'escape'.
Por ahora lo "solucioné" con html_entity_decode, pero eso obviamente no parece una solución "bonita". Tampoco me parece que valga la pena extender la clase solo por ese detalle.

3.- Tengo algunos saltos de línea que me gustaría eliminar, y de ser posible también querría agregar algo de sangrado al código generado, aunque este obviamente es un detalle menor

Estoy usando un decorador basado (bueno, más bien idéntico) al que se muestra en el manual: http://framework.zend.com/manual/en/...ecorators.html

Aunque haya solucionado los problemas de forma "rápida y sucia", me gustaría saber si hay alguna otra forma de lograr lo que quiero.


Saludos.
  #2 (permalink)  
Antiguo 28/07/2008, 22:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Zend_Form + Decoradores

Mmmm creo que para hacer lo que necesitas forzosamente deberás extender el decorador por uno propio ya que por default le aplica el htmlspecialchars al label para que la sintaxis sea correcta...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:06.