Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jow Xavier

Enviar dados de um controller para view

Recommended Posts

Boa tarde tenho o seguinte cenário ... preciso enviar duas arrays para uma view, já consigo enviar uma array, preciso enviar a outra array q é referente a uma outra tabela. Meu código está assim

 

controller.php

// Aqui cria o array 
$resultadoCampos = $tableCampos->findObjects('id_tabela',$cod);

$array = array('r' =>$resultado,
'empreendimentos' => $empreendimentos,
'cod64' =>$get->cod);

// enviando para a view
$this->chamaView('tabela/formulario.tpl',$array);

 

view.php

Como receber os dados do meu array, $resultadoCampos ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não conheço este método $this->chamaView() e os arquivos view do ZF são .phtml. Não vejo sentido em usar Smarty com o ZF, então nunca usei. Em uma aplicação normal você pode passar o array assim:

 

$resultadoCampos = $tableCampos->findObjects('id_tabela',$cod);

$array = array('r' =>$resultado,
'empreendimentos' => $empreendimentos,
'cod64' =>$get->cod);

// enviando para a view
$this->view->array = $array;
$this->view->resultadoCampos = $resultadoCampos;
// usando na view
Zend_Debug::dump($this->array);
Zend_Debug::dump($this->resultadoCampos);

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tbm não vejo sentido, mas o projeto foi desenvolvido assim então não tenho tempo e nem conhecimento para refazer. Bom mas já consegui resolver o problema, os novos projetos estou vou usar Zend Framework, a propósito estou começando a usar este framework, se conhecer algum tutorial bom para aprender este framework agradeceria muito, os tutorias que achei por ai não gostei muito obrigado pela atenção .... Consegui resolver o problema postado abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele queria saber como ele receberia os dados no TPL

 

provavelmente resolveu com $this->array ou algo assim...

 

Para tutorial de Zend eu recomendo o proprio site do zend... ele é bem completinho.

As vezes fica faltando informação, mas ai com uma buscar rápida no pai de todos pelo nome da função com exemplos... você encontra trocentos blogs ensinando como usar.

 

Com google é sempre mais fácil você dar o nome da função do framework e colocar example logo depois... que você sempre acha alguem que já postou a respeito... seja pq não entendeu a explicação do Zend ou porque queria fazer algo diferente.

 

Essa regra de pesquisa é valida para 90% dos frameworks mais utilizados hj em dia.

A dica é nem sempre procurar por resultados em português.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Referente a este procedimento eu resolvi alterando o método criado "chamaView" ... Estou retirando o Smart deste projeto para tudo ficar 100% no Zend Framework, pois estou tentando exibir uma simples mensagem na de sucesso na inclusão de novo registro, estou encontrando dificuldades abaixo o código ..

 

       try{
           // Armazena os dados em uma procedure 
           $table->addUsuarios($nome,$login,$crip_senha,$ativo,$tipo);
           $msg = 'Registro incluido com sucesso.';
       }catch(Zend_Exception $e) {
           echo 'Erro ao inserir registro'.$e->getMessage();
       }
       $this->view->message = $msg;

 

Recebendo na view

 

echo $this->message;

 

Acontece que apenas grava os registros no banco de dados, e não retorna para a view ... Alguém pode me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para isto existe o helper Flash Messenger. Agora estou no Mobile e não tenho como postar exemplo, mas procurando na net tem vários exemplos.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado consegui resolver vou postar abaixo o que fiz, caso alguém precise ...

 

app/view/Helper/FlashMessages.php

<?php
require_once 'Zend/Session.php';
require_once 'Zend/View/Helper/Abstract.php';

class Zend_View_Helper_FlashMessages extends Zend_View_Helper_Abstract
{
   public function flashMessages()
   {
       $messages = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')->getMessages();
       $output = '';

       if (!empty($messages)) {
           $output .= '<ul id="messages" style=list-style:none;>';
           foreach ($messages as $message) {
               $output .= '<li class="' . key($message) . '">' . current($message) . '</li>';
           }
           $output .= '</ul>';
       }

       return $output;
   }
}
?>

 

app/controllers/ArquivoController.php

$this->_helper->flashMessenger->addMessage(array('success'=>'Registro inserido com sucesso'));

 

app/view/scripts/pasta/index.phtml

<?php echo $this->flashMessages(); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.