Проблема с addDisplayGroup в форме Zend - PullRequest
2 голосов
/ 08 февраля 2010

У меня есть такая же форма кода:

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')),
        ),
    )); 
}

В этой форме есть несколько элементов и две кнопки. На странице отображения кнопки отображаются над формой перед другими элементами.

Как поставить эти кнопки внизу всех элементов?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 09 апреля 2010

Zend отображает элементы в том порядке, в котором они добавлены с помощью метода addElements (). Итак, я бы добавил их так:

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

Затем используйте CSS в представлении для управления их местоположением.

Надеюсь, это поможет.

1 голос
/ 08 февраля 2010

добавить их перед другими элементами; -)

0 голосов
/ 09 февраля 2010

Добавьте остальные поля в другую группу отображения, определенную перед уже имеющейся группой отображения. Вам, вероятно, понадобится кое-что настроить для декораторов.

...