2010-10-08 6 views
0

J'ai trouvé du code qui changerait les balises dt et dd standard en balises de table pour un objet Zend_Form_Element. Voici le code que j'ai utilisé:Application de la classe au client Zend Decorator

 $element->setDecorators(array(
    'ViewHelper', 
    'Errors', 
    array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')), 
    array('Label', array('tag' => 'td', 'class' => 'rightAlign')), 
    array(array('row' => 'HtmlTag'), array('tag' => 'tr')) 

)); Mais cela place le nom de classe 'rightAlign' sur la balise label au lieu du td. Je ne peux pas sembler envelopper ma tête autour de ces décorateurs personnalisés alors quelqu'un peut-il me dire comment obtenir le nom de classe «rightAlign» sur le td entourant l'étiquette?

Répondre

1

ajoutez simplement un décorateur

$element->setDecorators(array(
    'ViewHelper', 
    'Errors', 
    array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')), 
    'Label', 
    array(array('labelWrap' => 'HtmlTag'), array('tag' => 'td', 'class' => 'rightAlign')), 
    array(array('row' => 'HtmlTag'), array('tag' => 'tr')) 
)); 
+0

Merci, qui a aidé beaucoup. J'ai vraiment besoin de comprendre comment ces décorateurs fonctionnent correctement lol. – Mat

0
$this->setElementDecorators(array(
              'ViewHelper', 
              'Errors', 
              array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'element')), 
              array('Label',array('requiredSuffix' => ' * ')), 
              array(array('labelWrap' => 'HtmlTag'), array('tag' => 'td', 'align' => 'right')), 
              array(array('row' => 'HtmlTag'), array('tag' => 'tr')) 
             )); 

ajoutera le suffixe nécessaire;)

Questions connexes