Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/03/2011, 19:52
CyberMauher
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: [Zend] setElementDecorators Errors

Cita:
Iniciado por masterpuppet Ver Mensaje
Deberias leer primero un poco de teoria sobre los decorators, te dejo un link, ahora en la practica deberia ser algo asi:

Código PHP:
Ver original
  1. ...
  2. ->setElementDecorators(array(
  3.                 array('Errors', array('class' => 'qtip')),
  4.                 array('HtmlTag', array('tag' => 'div', 'class' => 'error-wrapper')),   
  5.                 array('ViewHelper', array('placement' => 'prepend')),
  6.                 array('Description', array('tag' => 'span', 'class' => 'qtip')),
  7.                 array('Label', array(
  8.                     'placement' => 'append',
  9.                     'separator' => '<br />'
  10.                 )),
  11.                 array('HtmlTag', array('tag' => 'td'))
  12. ...

Saludos.
Hola, te voy a hacer una corrección porque no me andaba y bueno leyendo un poco encontré que hay que asignarle un alias al "HtmlTag", porque sino se pisan y queda uno solo.
Osea resultado final:
Código PHP:
->setElementDecorators(array(
                array(
'Errors', array('class' => 'qtip')),
                array(array(
'HtmlTag_2' => 'HtmlTag'), array('tag' => 'div''class' => 'error-wrapper')),    
                array(
'ViewHelper', array('placement' => 'prepend')),
                array(
'Description', array('tag' => 'span''class' => 'qtip')),
                array(
'Label', array(
                    
'placement' => 'append'
                    
'separator' => '<br />'
                
)),
                array(
'HtmlTag', array('tag' => 'td')) 
Bueno de esta manera funciona perfecto, pero para mi diseño sigue habiendo un problema, vos me cambiaste el orden del ViewHelper y a mi no me sirve. Entonces lo que hice es ponerlo en el orden que tenía y lo que pasó es que no sólo me envolvía 'Errors' sino que también el 'ViewHelper'.
Luego encontre una solución a este problema, y es que se puede decidir cuando abrir y cuando cerrar los tags, en teoría todo bárbaro pero cuando lo llevé a la practica no me funcionó.
El código me quedó así pero no puedo lograr que se cierre el tag antes del 'ViewHelper':
Código PHP:
            ->setElementDecorators(array(
                array(
'ViewHelper', array('tag' => 'span''class' => 'qtip')),
                array(array(
'HtmlTag_2' => 'HtmlTag'), array('tag' => 'div''closeOnly' => true)),
                array(
'Errors'),
                array(array(
'HtmlTag_2' => 'HtmlTag'), array('tag' => 'div''openOnly' => true)),
                array(
'Description', array('tag' => 'span''class' => 'qtip')),
                array(
'Label', array(
                    
'placement' => 'append'
                    
'separator' => '<br />'
                
)),
                array(
'HtmlTag', array('tag' => 'td'))