2009-09-09 6 views
2

Je suis en train de changer mes formes pour utiliser un View Script comme décorateur. Les exemples que je l'ai vu jusqu'à présent effectuer les tâches suivantes dans le script Vue:Zend Form - Méthode pour extraire la valeur Label de la classe Form à afficher dans View Script?

<td><label for='textEmail'>Email:</label></td> 
<td><?php echo $this->element->textEmail; ?></td> 

Je voudrais trouver un moyen d'avoir le texte à afficher dans l'étiquette de l'objet formulaire ainsi.

class RegisterForm extends Zend_Form { 
public function init() { 
    $this->setAction('') 
     ->setMethod('post') 
     ->setAttrib('id','formRegister'); 

    $this->addElement('text', 'textEmail', array('label' => 'Email: ')); 
    $oEmail = $this->getElement('textEmail') 
     ->setRequired(true) 
     ->addFilter('StringTrim') 
     ->addValidator('EmailAddress'); 
    $oEmail->setDecorators(array('ViewHelper', 'Errors')); 

    $this->setDecorators(array(array('ViewScript', array('viewScript' => 'forms/RegisterForm.phtml')))); 
    } 
} 

Ci-dessus est la définition de mon objet de formulaire. Est-ce que quelqu'un sait comment accéder à la valeur d'étiquette définie? Dans le format suivant peut-être?

<?php echo $this->element->textEmail->label; ?> 

Naturellement, cela ne fonctionne pas. : P Merci ~

Répondre

6

$ this-> element-> getLabel()

Voici mon script de vue pour les champs standards:

<div class="field<?php if($this->element->hasErrors()): ?> errors<?php endif; ?>" id="field_<?php echo $this->element->getId(); ?>"> 
    <?php if (0 < strlen($this->element->getLabel())) : ?> 
     <?php echo $this->formLabel($this->element->getName(), $this->element->getLabel());?> 
    <?php endif; ?> 
    <span class="value"><?php echo $this->{$this->element->helper}(
     $this->element->getName(), 
     $this->element->getValue(), 
     $this->element->getAttribs() 
    ) ?></span> 
    <?php if ($this->element->hasErrors()) : ?> 
     <?php echo $this->formErrors($this->element->getMessages()); ?> 
    <?php endif; ?> 
    <?php if (0 < strlen($this->element->getDescription())) : ?> 
     <span class="hint"><?php echo $this->element->getDescription(); ?></span> 
    <?php endif; ?> 
</div> 
+1

Vous avez sauvé ma 10 minutes et les pouces (y) pour il. – NullPointer