public function formsAction() { // Define o título da página, é mostrado automaticamente na view. $this->view->breadcrumb = $this->view->translate("Exemplo » Formulários"); // Parse do arquivo formulário. $xml = new Zend_Config_Xml(Zend_Registry::get("config")->system->path->base . "/modules/example/forms/example.xml"); // Cria objeto Snep_Form $form = new Snep_Form($xml); // Pega determinado elemento do Form $campo4 = $form->getElement('campo04'); // Seta as opções do elemento dinamicamente. $campo4->setMultiOptions(array(1 => 'teste1', 2 => 'teste2', 3 => 'teste3')); // Chama método setButton(), que inclue a barra de botões padrão do SNEP. $form->setButton(); // Verifica se existe dados sendo enviados via $_POST // Se for verdadeiro, é porqyue o formulário foi submetido. if ($this->_request->getPost()) { // Chama método isValid() é confronta os dados submetidos pelo formulário. $isValid = $form->isValid($_POST); if ($isValid) { $this->view->message = $this->view->translate("Dados recebidos") . "!"; $this->view->dados = $_POST; } } // Envia o objeto Snep_Form para a View $this->view->form = $form; }
/** * Método edit, editar item conforme id fornecido. */ public function editAction() { // Define o título da página, é mostrado automaticamente na view. $this->view->breadcrumb = $this->view->translate("Exemplo » Editar"); // Pega o id do item selecionado, passado via GET $id = $this->_request->getParam("id"); // Chama método Example_Cadastro::get(), ele retorna os dados confome o id. $dados = Example_Manager::get($id); // Parse do arquivo formulário. $xml = new Zend_Config_Xml(Zend_Registry::get("config")->system->path->base . "/modules/example/forms/cadastro.xml"); // Cria objeto Snep_Form $form = new Snep_Form($xml); // Preenche dados do formulário com dados vindos do banco. // Perceba que ele captura o elemento e ao mesmo tempo seta um valor para ele. $form->getElement('id')->setValue($dados['id']); $form->getElement('nome')->setValue($dados['nome']); // Chama método que insere a barra padrão. $form->setButton(); // Verifica se existe dados sendo enviados via $_POST // Se for verdadeiro, é porqyue o formulário foi submetido. if ($this->_request->getPost()) { // Chama método isValid() é confronta os dados submetidos pelo formulário. $isValid = $form->isValid($_POST); // Caso tudo seja válido chama a classe (Model) para inserir o dado. if ($isValid) { // Chama método estático para atualizar o registro. Example_Manager::update($_POST); // Após remover ou nao dados redireciona para método index $this->_redirect($this->getRequest()->getModuleName() . '/' . $this->getRequest()->getControllerName()); } } // Envia form para a view $this->view->form = $form; }