O padrão MVC está aí pra facilitar mesmo, geralmente as funções dos
controllers só manipulam os dados, mas buscam de bibliotecas ou models...
No exemplo do Vinicius, provavelmente ele usaria na função de inicialização
(index) a chamada para o model:
$data['cidades'] =
$this->model->populacombo('cidade',registroDB['estadoid']);
Onde o primeiro parametro diria para buscar as cidades, e o segundo,
utilizando o estado id tal...
2008/12/16 Vinicius Cruz <[email protected]>
> Deixa eu dar um exemplo, pra ver se é mais ou menos isso (que aconteceu
> comigo).
> Tenho um cadastro de usuário: nele, tem estado e cidade. Ao selecionar
> estado, via ajax eu chamo o controller cidade/populaCombo
>
> Até aí, nenhum problema. Agora, se tenho a página de editar meus dados,
> terei que ter o campo cidade preenchido com as cidades do estado
> selecionado. E quando selecionado outra cidade, repopula o campo de cidade.
> Seria isso?
>
> Acho que dá pra ser feito como Andrey falou mesmo. Eu não chego a usar uma
> library. no controller usuario/editar (no exemplo acima), chamo o model, e
> monto a query pra popular o combo no view...
>
> 2008/12/16 Andrey Wischneski <[email protected]>
>
> 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 <[email protected]>
>>> *To:* CodeIgniter Brasil <[email protected]>
>>> *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