Zend Formunda addDisplayGroup ile ilgili sorun

4 Cevap php

Ben bir formu aynı aşağıdaki kodu var:

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

Bu formda bazı unsurlar ve iki düğme vardır. Görüntüleme sayfası olarak, düğme diğer öğeleri önce biçimde yukarıda gösterilmiştir.

Nasıl bu düğmeler tüm elemnts dibinde koyabilirsiniz?

Teşekkürler.

4 Cevap

Beklendiği gibi benim için çalışıyor. Sonuç:

alt text

Zend Framework sürümünü kullanıyorsunuz?

Zend bunlar addElements () yöntemi ile ilave edildiği sırayla elemanları oluşturur. Yani, bu gibi onları eklemek istiyorum:

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

Sonra onların yerleri işlemek için görünümde CSS kullanın.

Umut olur.

diğer elementlerin önce onları eklemek ;-)

Zaten ekran grup önce tanımlanmış başka bir görüntüleme grup, diğer alanları ekleyin. Muhtemelen dekoratörler, bazı-ne ayarlamak gerekir.