/** * Construtor da página */ public function __construct() { parent::__construct(); // instancia um formulário $this->form = new FormWrapper(new Form('form_pessoas')); // cria os campos do formulário $codigo = new Entry('id'); $nome = new Entry('nome'); $endereco = new Entry('endereco'); $bairro = new Entry('bairro'); $telefone = new Entry('telefone'); $email = new Entry('email'); $cidade = new Combo('id_cidade'); $grupo = new CheckGroup('ids_grupos'); $grupo->setLayout('horizontal'); // carrega as cidades do banco de dados Transaction::open('livro'); $cidades = Cidade::all(); $items = array(); foreach ($cidades as $obj_cidade) { $items[$obj_cidade->id] = $obj_cidade->nome; } $cidade->addItems($items); $grupos = Grupo::all(); $items = array(); foreach ($grupos as $obj_grupo) { $items[$obj_grupo->id] = $obj_grupo->nome; } $grupo->addItems($items); Transaction::close(); $this->form->addField('Código', $codigo, 40); $this->form->addField('Nome', $nome, 300); $this->form->addField('Endereço', $endereco, 300); $this->form->addField('Bairro', $bairro, 200); $this->form->addField('Telefone', $telefone, 200); $this->form->addField('Email', $email, 200); $this->form->addField('Cidade', $cidade, 200); $this->form->addField('Grupo', $grupo, 200); // define alguns atributos para os campos do formulário $codigo->setEditable(FALSE); $codigo->setSize(100); $nome->setSize(300); $endereco->setSize(300); $this->form->addAction('Salvar', new Action(array($this, 'onSave'))); // adiciona o formulário na página parent::add($this->form); }