PS: "Imprimido" foi foda, perdão :D
----- Original Message -----
From: Eric Saboia (Fortes Informatica)
To: CodeIgniter Brasil
Sent: Tuesday, December 16, 2008 2:57 PM
Subject: Re: [CodeIgniter] Executando controllers a partir de uma view
Opa, estamos quase lá... só um detalhe:
Quando eu for chamar minha função na action que carrega a página inteira, ela
deve retornar a view, já no AJAX, ele deve dar um "echo" para que o conteúdo
seja impresso.
Exemplo:
class Cliente extends Controller {
function exibe() {
$div['dados'] = Cliente::cidades();
$this->load->view('divHTML', $div);
}
function cidades() {
$dados = $this->modelo->carrega();
$pagina = $this->load->view('divHTML', $dados, true);
return $pagina;
}
}
Já no ajax, quando eu fosse chamar minha página localhost/cliente/cidades,
ele deve já retornar o HTML imprimido pra eu jogar na div.
No caso eu teria que fazer um tratamento parecido com o do método view (pra
decidir se deve retornar ou imprimir o resultado), correto? Ou eu posso criar
um terceiro método apenas para imprimir o retorno do cidades();
De qualquer jeito creio que já dá pra resolver. Obrigado pela ajuda, Vinicius
e Andrey.
----- Original Message -----
From: Vinicius Cruz
To: CodeIgniter Brasil
Sent: Tuesday, December 16, 2008 2:18 PM
Subject: Re: [CodeIgniter] Executando controllers a partir de uma view
Isso. É como se você criasse um view pra intermediar o processo.
2008/12/16 Andrey Wischneski <[email protected]>
Bom, aí você pode montar a view dentro de uma variável e jogá-la dentro
da div, por exemplo:
$pagina = $this->load->view('divHTML', $data, true);
Onde $data são os dados que você envia para montar o código HTML para
inserir na div.
$ajax->Assign("DIV","innerHTML", $pagina);
2008/12/16 Eric Saboia (Fortes Informatica)
<[email protected]>
Mas ai na própria função eu já vou ter que inserir todo o código HTML
que deve retornar pra DIV? eu tinha feito uma action e uma view, a action
renderizava a view e aplicava os dados vindos do banco. Nesse caso eu teria que
aplicar todo o HTML direto na action?
----- Original Message -----
From: Andrey Wischneski
To: CodeIgniter Brasil
Sent: Tuesday, December 16, 2008 9:19 AM
Subject: Re: [CodeIgniter] Executando controllers a partir de uma view
Então, amigo, você pode chamar normalmente uma função na
inicialização do seu controle...
exemplo:
function popula_div() //função ajax, que vai utilizar a mesma
biblioteca para retornar dados para popular a div...
{
$conteudo = $this->library->funcao();
div.innerhtml = $conteudo;
}
function index() //Função de inicialização do controle
{
$data['conteudo'] = $this->library->funcao(); //Dentro de uma
biblioteca, chama uma função que retornará dados para popular a div, passando a
variável $data['conteudo'] para a view.
$this->load->view('view',$data);
}
Obs: o exemplo ficou meio porquinho, mas acho que da pra entender...
Não sei se entendi exatamente o que você precisa, mas tenho certeza
que utilizando o codeigniter é possível fazer...
2008/12/16 Eric Saboia (Fortes Informatica)
<[email protected]>
O problema não é utilizar ajax, o problema é que quando carrego
determinada página, uma div já deve vir preenchida com um conteúdo que será
repopulado via ajax após uma determinada ação. Ou seja, ao carregar determinada
página, eu preciso "incluir" uma action. Após alguma ação, essa mesma action
será chamada via ajax. Deu pra entender?
Descrição do método no ZF:
53.4.1.1. Action View Helper
The Action view helper enables view scripts to dispatch a given
controller action; the result of the response object following the dispatch is
then returned. These can be used when a particular action could generate
re-usable content or "widget-ized" content.
Actions that result in a _forward() or redirect are considered
invalid, and will return an empty string.
The API for the Action view helper follows that of most MVC
components that invoke controller actions: action($action, $controller, $module
= null, array $params = array()). $action and $controller are required; if no
module is specified, the default module is assumed.
----- Original Message -----
From: Vinicius Cruz
To: CodeIgniter Brasil
Sent: Monday, December 15, 2008 9:22 PM
Subject: Re: [CodeIgniter] Executando controllers a partir de uma
view
Bom, não entendi muito bem o que estás precisando fazer, mas
quando uso ajax, por meio do jquery, chamo o endereco de um método do
controller normalmente....
2008/12/15 Eric Saboia (Fortes Informatica)
<[email protected]>
Olá, pra quem conhece o ZF, tenho o método action, que pode ser
usado desta forma:
$this->action('controller', 'action', 'parametros');
É uma espécie de include, que chama um controller/action e é
possível passar parâmetros.
Pra que isso? tenho em minha view uma div que recarrega via
ajax ao submeter certo formulário, mas quando carrego a view, essa div já deve
vir preenchida com o devido conteúdo, pra isso eu precisaria invocar uma action
do mesmo controller que renderizou a view.
Deu pra entender? tem algo assim no CI que possa me ajudar ou
terei que gambiarrizar? ;D
Obrigado!
Eric Saboia
Desenvolvimento Web
Fortes Informática (Fortaleza)
Fone: (85) 4005-1111
[email protected]
www.grupofortes.com.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
------------------------------------------------------------------
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
----------------------------------------------------------------------
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
----------------------------------------------------------------------------
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br