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.
}
}