A função get_sconfig e feita por mim. Mas esse não e mais o problema, agora a 
única pendência e a q relatei por ultimo ou seja, não consigo acessar a session 
via lib sessio s dentro da classe MY_loader. Preciso saber se há alguma outra 
forma de alterar dinamicamente o caminho da pasta views sem ser extendendo a 
classe CI_Loader. Ou mesmo se há uma forma de acessar os objetos de session do 
CI na classe MY_Loader?

Alguma sugestao?

Enviado via iPhone

Em 27/02/2011, às 11:35, Vinicius Cruz <[email protected]> escreveu:

> Onde está o código da função get_sconfig? Em uma library, helper, plugin?
> 
> Se for o caso, precisa do super objeto do framework da seguinte forma:
> 
> $CI =& get_instance();
> $resp = $CI->session->userdata($conf);
> 
> Veja mais em Utilizing CodeIgniter Resources within Your Library
> http://codeigniter.com/user_guide/general/creating_libraries.html
> 
> Att,
> Vinicius Cruz
> 71 8821-8799
> http://www.zime.com.br/
> 
> 
> 
> Em 27 de fevereiro de 2011 05:32, Pablo Augusto <[email protected]> 
> escreveu:
> 
> Eu dei uma estudada mais aprofundada no CI e a classe Loader e a que 
> instancia todas as outras por isso nao funciona
> pois ate as sessions nao estao instanciadas ainda. Ou seja, estou tentando 
> acessar algo que ainda nao foi declarado ou instanciado,
> e ai que estava o problema.
> 
> Vou ter de estudar mais para ver se e possivel implementar isso, pois 
> infelizmente, apenas nessa classe e possivale alterar
> o diretorio das views para criar uma infra estrutura de templates /views para 
> /templattes/template1 etc.
> 
> A coisa e mais da estrutura do CodeIgniter do que de orientacao a objeto 
> alguem tem alguma
> ideia de como contornar essa situacao. 
> 
> minha necessidade e verificar no __construct() da classe MY_Load 
> se existe um valor definido para a variavel de sessao 'language' para carregar
> as views traduzidas no idioma que esta na session.
> 
> Via config.php ele funciona, mas como nao consigo instanciar a classe 
> sessions na MY_Loader
> ele sempre retorna vazio usando $_SESSION['language'].
> 
> 
> E infelizmente, pelo que vi essa e a unica forma de alterar a localizacao e 
> nome do diretorio de views
> alterando a variavel $this->_ci_view_path = 'caminho/path/views'; no 
> construct da classe MY_Loader
> correto? Ou ha outra forma?
> 
> 
> Abcs.
> 
> -----------------------------------------------------------------------------------
> 
> A titulo de curiosidade segue a funcao final que ficou dentro da classe 
> MY_Loader
> Eu consigo acessar normalmente a session, mas como ela e instanciada antes da 
> classe de
> sessions do CodeIgniter, ela acaba sendo uma sessao diferente.
> 
> Vou tentar pegar os parametros de config da session no arquivo de 
> configuracao e iniciar a sessao com eles para
> ver se funciona.
> 
> public function get_config_value($conf = '')
>       {
> 
>               //Se nao foi definido o valor a ser localizado
>               if ($conf == '' ) return FALSE;
> 
>                       //Verifica a configuracao esta setada via sessions
>                       if ( isset($_SESSION[$conf])){
>                       return $_SESSION[$conf];
>                       }
> 
>               //verifica se esta setado via config.php
>               else {
>                       $config =& get_config();
>                       if (isset( $config[$conf]))
>                               return $config[$conf];
> 
>                       else return FALSE; //se nao achou nenhum valor retorna 
> false
>               }
> 
> 
> 
> 
> Pablo Augusto
> SEO | SEM | Marketing Digital
> 
> Me siga no Twitter: @pabloaugusto
> Artigos sobre Otimização de sites, Marteking Digital e Mídias Sociais: WebTags
> MSN: [email protected]
> SKYPE: [email protected]
> EMAIL: [email protected]
> 
>                
> 
> 
> 
> 
> 2011/2/27 [email protected] <[email protected]>
> 
> Pablo,
> 
> Esse erro ocorre quando vc faz uma chamada $this fora do contexto de uma 
> classe ou numa chamada estática ao método. No seu caso está ocorrendo a 
> primeira hipótese, ou seja, sua função não está definida no escopo de uma 
> classe.
> 
> A solução para isso é simples. Você deve inserir o objeto $session no escopo 
> da função usando o globals ou passa-lo como parâmetro. E, evidentemente, 
> retirar o $this da jogada.
> 
> Assim:
> function get_sconfig($conf = '')
>       {
>               global $session;
>               
>               ...
> 
>               //Verifica a configuracao esta setada via sessions
>               $resp = $session->userdata($conf);
>               
>               ...
> 
> ou assim:
> function get_sconfig($conf = '', $session)
>       {
>               ...
> 
>               //Verifica a configuracao esta setada via sessions
>               $resp = $session->userdata($conf);
>               
>               ...
> 
> Abraço,
> 
> --
> Iuri Jacob
> Engenheiro de Software
> IMPA - Instituto de Matemática Pura e Aplicada
> http://www.iurijacob.com.br/
> http://br.linkedin.com/in/iurijacob
> http://twitter.com/#!/iurijacob
> 
> Tecnologia no Século XXI
> http://www.bytecodex.com/blog/
> 
> 
> Em 26 de fevereiro de 2011 20:50, Pablo Augusto <[email protected]> 
> escreveu:
> Boa noite pessoal, veja se alguem tem uma ideia de como resolver esse 
> problema.
> 
> Estou fazendo uma funcao para o Code Igniter 2 para checar se um valor de 
> configuracao
> esta definido via sessions e via config.php.
> 
> Quanto vou checar se o valor passado por parametro na chamada da funcao esta 
> disponivel
> na session o seguinte erro ocorre:
> 
> Fatal error: Using $this when not in object context in 
> D:\xampp\htdocs\XXXXXXX\application\core\MY_Loader.php on line 34
> 
> A linha 34 e justamente essa, aonde eu pego o valor do parametro $conf e 
> tento recuperar o valor que esta na session:
> $resp = $this->session->userdata($conf);
> 
> A chamada da funcao esta sendo feita da seguinte forma 
> $view_path = get_sconfig('view_path');
> 
> 
> Qual seria o problema, o this nao esta instanciado ainda na chamada do 
> MY_loader?
> Como poderia fazer essa funcao para checar se a variavel esta na session ou 
> no config file entao?
> 
> Abcs
> --------------------------------------------------------------------------------------------
> Segue abaixo a funcao completa para elucidar todo cenário.
> 
> function get_sconfig($conf = '')
>       {
>               //Se nao foi definido o valor a ser localizado
>               if ($conf == '' ) return FALSE;
> 
>               //Verifica a configuracao esta setada via sessions
>               $resp = $this->session->userdata($conf);
>               $resp = (! isset($resp)) ? '' : $resp;
> 
>               //Se nao esta setada via sessions verifica se esta setado via 
> config.php
>               if ($resp == '')
>               {
>                       $resp = $config[$conf];
>                       $resp = (! isset($resp)) ? '' : $resp;
>               }
> 
>                       //Se conseguiu localizar um valor definido para a 
> configuracao retorna ele
>                       //senao retorna false
>                       if ($resp == '') return FALSE;
>                       else return $resp;
>       }
> 
> 
> 
> 
> Pablo Augusto
> SEO | SEM | Marketing Digital
> 
> Me siga no Twitter: @pabloaugusto
> Artigos sobre Otimização de sites, Marteking Digital e Mídias Sociais: WebTags
> MSN: [email protected]
> SKYPE: [email protected]
> EMAIL: [email protected]
> 
>                
> 
> 
> -- 
> http://www.phprio.org/
> Pedidos de Camisetas: http://sites.google.com/a/phprio.org/index/camisetas
> Pedidos de Elephpants: http://sites.google.com/a/phprio.org/index/elephant
> 
> 
> -- 
> http://www.phprio.org/
> Pedidos de Camisetas: http://sites.google.com/a/phprio.org/index/camisetas
> Pedidos de Elephpants: http://sites.google.com/a/phprio.org/index/elephant
> 
> 
> 
> _______________________________________________
> [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
---------------------------

Responder a