2010-02-08 3 views
2

J'ai une forme même le code suivant:problème avec addDisplayGroup dans le formulaire Zend

public function init(){ 


    $id=$this->createElement('hidden','cf_id'); 
    $id->setDecorators($this->elementDecorators); 
    $id->setOrder(1); 
    $this->addElement($id); 

    $firstName=$this->createElement('text','firstName'); 
    $firstName->setDecorators($this->elementDecorators); 
    $firstName->setLabel('name :'); 
    $firstName->setOrder(2); 
    $firstName->setAttrib('class','textbox'); 
    $firstName->setAttrib('disabled',true); 
    $this->addElement($firstName); 

    $lastname=$this->createElement('text','family'); 
    $lastname->setLabel(' family:'); 
    $lastname->setDecorators($this->elementDecorators); 
    $lastname->setOrder(3); 
    $lastname->setAttrib('class','textbox'); 
    $lastname->setAttrib('disabled',true); 
    $this->addElement($lastname); 


    $this->addElement('button', 'cancel', array(
     'label' => 'Cancel Button', 

    'class'=>'button', 
     'decorators' => array(
      'ViewHelper', 
     ), 
    )); 

    $this->addElement('button', 'submit', array(
     'label' => 'Submit Button', 

    'class'=>'button', 
     'decorators' => array(
      'ViewHelper', 
     ), 
    )); 

    $this->addDisplayGroup(array('submit', 'cancel',), 'submitButtons', array(
     'order'=>4, 
     'decorators' => array(
      'FormElements', 
      array('HtmlTag', array('tag' => 'div', 'class' => 'element')), 
     ), 
    )); 
} 

Sous cette forme, il y a quelques éléments et deux boutons. Dans la page d'affichage, les boutons sont affichés au-dessus de la forme avant les autres éléments.

Comment puis-je mettre ces boutons au bas de tous les éléments?

Merci.

Répondre

1

les ajouter avant autres éléments ;-)

0

Ajouter vos autres champs à un autre groupe d'affichage, défini avant que le groupe d'affichage que vous avez déjà. Vous aurez probablement besoin d'ajuster les décorateurs quelque-chose.

2

Zend affiche les éléments dans l'ordre dans lequel ils sont ajoutés via la méthode addElements(). Donc, je voudrais les ajouter comme ceci:

$this->addElements(array(all elements you want to appear first in top-down order)); 
$this->addElements(array(button elements)); 

Ensuite, utilisez CSS dans la vue pour manipuler leurs emplacements.

Espérons que ça aide.

Questions connexes