예제 #1
0
 /**
  * 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);
 }