dexfs
2/27/2013 - 1:20 PM

input:text + input:button inline with Zend_Form http://img829.imageshack.us/img829/5623/seleo536.jpg

input:text + input:button inline with Zend_Form http://img829.imageshack.us/img829/5623/seleo536.jpg

<?php 

class DF_Form_FranqueadoCadastroInicial extends EasyBib_Form {

    public function init(){
		$this->setMethod('POST');
		$this->setName('form');
		$this->setAttrib('class', 'form-horizontal');
        
        /*demais campos... */
		//CEP:
        /* 
        * Decorator para usado para o campo CEP apenas abrir a tag div que engloba o input:text e o input:button 
        * ViewHelper para renderizar o campo na tela 
        * BootstrapTag tag que engloba o campo 
        * passado o parametro openOnly ele vai apenas abrir a tag <div> ... 
        */
		$open = array(
			'ViewHelper',
			array('HtmlTag', array('tag' => 'div', 'class' => 'control-group','openOnly' => true)),
			array('BootstrapTag',array('tag' => 'div','class' => 'controls','openOnly' => true)),
			);
        /* 
        * Decorator para usado para o INPUT:BUTTON apenas fechar  a tag div 
        * ViewHelper para renderizar o campo na tela 
        * BootstrapTag tag que engloba o campo 
        * passado o parametro closeOnly para eu esse campo feche a tag </div> assim os campos ficarão juntos.
        */
    	$close = array(
			'ViewHelper',
				array('HtmlTag', array('closeOnly' => true)),
				array('BootstrapTag',array('closeOnly' => true)),
			);

		$element = new Zend_Form_Element_Text('frn_cep_r');
		$element->setLabel('CEP:');	
		$element->setRequired();
		$this->addElement($element);

		//botão de busca
		$element = new Zend_Form_Element_Button('buscar');
		$this->addElement($element);
        
    	EasyBib_Form_Decorator::setFormDecorator($this, EasyBib_Form_Decorator::BOOTSTRAP, 'submit','cancel');           		
        /*
        * Necessário que seja após o EasyBib_Form_Decorator::setFormDecorator(), pois ele modifica qualquer Decorator do formulário.
        */
        
		$this->frn_cep_r->addDecorators($open);//adiciona o decorator de abertura $open
		$this->buscar->removeDecorator('Label'); // remove o decorator(tag)Label do button
		$this->buscar->setAttrib('class','btn');// adiciona a class btn(twitter bootstrap)
		$this->buscar->addDecorators($close);// adicionad o decorator $close ao botão.
    }    
}