2015-04-10 3 views
0

J'essaie de mettre deux entrées de type texte dans une ligne avec une seule étiquette et les envelopper dans un div représentant une ligne. Dans un sens, je veux aller de:Multiple Zend 1 A partir d'éléments dans une seule ligne

<div class="formRow"> 
    <label> date to</label> 
    <input type="text" name="date" class="dateTimeInput"> 
</div> 

à:

<div class="formRow"> 
    <label> date to</label> 
    <input type="text" name="date" class="dateInput"> 
    <input type="text" name="time" class="timeInput"> 
</div> 

problem description Mais je ne suis pas sûr de savoir comment atteindre que, puisque les autres éléments sont déjà à l'intérieur d'un groupe d'affichage:

$customDecorator = array(
     'ViewHelper', 
     'Label', 
     'Errors', 
     array('HtmlTag', array('tag' => 'div', 'class' => 'dialogRow')) 
    ); 

    // date to 
    $dateFrom = $this->createElement('text', 'dateFrom', array(
     'label'   => 'date from', 
     'decorators' => $customDecorator, 
    )); 
    // date to 
    $dateTo = $this->createElement('text', 'dateTo', array(
     'label'   => 'date to', 
     'decorators' => $customDecorator, 
    )); 

    // add first fieldset for shift info 
    $this->addDisplayGroup(
     array('dateFrom', 'dateTo'), 
     'info', 
     array('legend' => 'info') 
    ); 

Tout conseil sera très apprécié.

+0

À votre avis, vous êtes en mesure d'accéder à des éléments de formulaire individuels en utilisant ** $ this- > your_form_name-> getElement ('your_element_name'); **. –

Répondre

0

a résolu le problème moi-même en utilisant début/fin balises HTML au lieu d'un emballage en utilisant openOnly et closeOnly Options:

$compositeOpenDecorator = array(
     'ViewHelper', 
     'Errors', 
     'Label', 
     array('HtmlTag', array(
      'tag' => 'div', 
      'class' => 'someClass', 
      'openOnly' => true, 
     ) 
    )); 

    $compositeCloseDecorator = array(
     'ViewHelper', 
     'Errors', 
     'Label', 
     array('HtmlTag', array(
      'tag' => 'div', 
      'closeOnly' => true, 
     ) 
    ));