Проблема с addDisplayGroup в форме 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')),
        ),
    )); 
}

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

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

Спасибо.


person ulduz114    schedule 08.02.2010    source источник


Ответы (3)


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

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

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

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

person Mike S.    schedule 09.04.2010

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

person zerkms    schedule 08.02.2010

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

person berty    schedule 08.02.2010