Eu faria da seguinte forma (caso ilustrativo).
Criaria um model para configurações de linguagens. Neste model, teria uma
função checar_idioma() com a regra especifica (lendo session, config, banco,
etc).
Em MY_Controller, chamaria este model no construtor e definiria o load para
carregar o template. Algo como:
class MY_Controller extends Controller{
{
protected $template;
public function __construct()
{
parent::__construct();
$this->load->model('IdiomaModel'); //pode ser definido no autoload também
$this->template = $this->IdiomaModel->getTemplate(); //retorna nome do
template a ser carregado na app de acordo com idioma
}
}
Nos controllers da aplicação, você carrega a view do template especificado
como $template
$this->load->view($this->template, $dados);
Faria algo do tipo. Dá pra melhorar algumas coisas, mas a idéia é usar os
recursos e arquitetura do framework, e tentar modificar o mínimo possível do
core (a não ser que o fw represente alguma limitação, que você não tenha
como resolver).
Att,
Vinicius Cruz
71 8821-8799
http://www.zime.com.br/
Em 27 de fevereiro de 2011 12:10, Pablo Augusto
<[email protected]>escreveu:
> E como poderia fazer isso no my_controller de forma dinamica? Criando uma
> Funcao que chame o show->view com parametros adicionais?
>
> Enviado via iPhone
>
> Em 27/02/2011, às 12:03, Vinicius Cruz <[email protected]> escreveu:
>
> Cara, pelo que vejo, há muitas extensões das bibliotecas do core do
> framework. Não há outras formas de resolver o que você precisa? Você pode
> chegar em um ponto que ficará totalmente amarrado com a versão do projeto. E
> isso é um problema.
>
> Pelo que entendi no e-mail, você pretende redefinir o caminho da view_path,
> para localizar de acordo com o idioma em session, correto? Colocar as pastas
> templattes/template1 dentro da view não resolve? Você pode definir o
> template de acordo com o idioma sem precisar alterar a view_path (dentro do
> MY_Controller, extendido por todos os controllers, por exemplo).
>
> Att,
> Vinicius Cruz
> 71 8821-8799
> <http://www.zime.com.br/>http://www.zime.com.br/
>
>
>
> Em 27 de fevereiro de 2011 11:53, Pablo Augusto < <[email protected]>
> [email protected]> escreveu:
>
>> Entao, não funciona o
>> CI =& get_instance();
>> $resp = $CI->session->userdata($conf);
>> Pois a função esta sendo chamada no MY_loader e nesse ponto as outras
>> classes ainda não foram instanciadas. Ou há halguma forma de fazerfuncionar?
>>
>>
>> Enviado via iPhone
>>
>> Em 27/02/2011, às 11:35, Vinicius Cruz < <[email protected]>
>> [email protected]> escreveu:
>>
>> CI =& get_instance();
>> $resp = $CI->session->userdata($conf);
>>
>>
>> _______________________________________________
>> <[email protected]>[email protected]
>> <http://www.codeigniter.com.br>http://www.codeigniter.com.br
>> <http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br>
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>> ---------------------------
>> Oportunidade de negócio
>> <http://www.franquiasargohost.net>http://www.franquiasargohost.net
>> ---------------------------
>>
>>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
>
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------