Cara, desculpe se eu não entendi direito seu email, mas é devido ao horário
:p

Bem, o principio é o mesmo usado na library lang. Você cria um arquivo
MY_Controller e extender o CI_Controller. Nos controllers de seu sistema,
você extende o MY_Controller. Ficaria algo assim:

class Produtos extends *MY_Controller* {
     function __construct()
     {
          parent::__construct();
          //a linha abaixo considera o lang e session carregando
automaticamente
          $this->lang->change($this->session->userdata('language'));
     }
}

Veja o item *Extending Native Libraries*
http://codeigniter.com/user_guide/general/creating_libraries.html

Entendi corretamente?

Att,
Vinicius Cruz
71 8821-8799
http://www.zime.com.br/



Em 26 de fevereiro de 2011 03:25, Pablo Augusto
<[email protected]>escreveu:

>
> Bom dia pessoal.
>
> Estou com a seguinte dificuldade.
> Quero executar uma funcao em qualquer controller do sistema, essa funcao
> deve ser repassada para todas
> as classe filhas que estenderem a classe CI_Controller
>
> ex:
>
> class Produtos extends CI_Controller {
>      function __construct()
> {
>            parent::__construct();
>         }
> }
>
> Ou seja, essa classe devera herdar um elemento adicional na funcao
> __construct vindo da modificacao
> que pretendo fazer na classe CI_Controller original. Que pode ser por
> exemplo uma verificacao se o usuario
> esta logado via sessions.
>
> Pois bem, a classe CI_Lang de manipulacao de idiomas eu consegui extender
> tranquilamente inserindo uma
> funcao extra na funcao principal quando criei o arquivo MY_Lang na pasta
> application/core.
> A nova funcao que inseri no arquivo MY_Lang.php e carregada automaticamente
> quando chamo $this->lang->nova_funcao();
>
>  Preciso fazer com que toda nova classe que extenda a classe CI_Controller
> herde a funcao abaixo no __construct por
> padrao  alguem sabe como posso fazer isso?
>
> parent::__construct();
> *$this->lang->change($this->session->userdata('language'));*
> *
> *
> *
> ---------------------------------------------------------------------------------------------------------------------
> *
>
> Tentei de todas as maneiras e nao consegui (sem alterar o arquivo
> CI_Controler.php e adicionar a funcao no __Construct)
> fazer mesmo processo que fiz com a classe CI_Lang na classe CI_Controller.
>
> A funcao nao carrega de forma alguma. Ja se eu altero diretamente o arquivo
> CI_Controller.php (pasta system/core)
> funciona perfeitamente.
>
> veja como fica o arquivo da pasta system modificado que funciona 100%:
> *
>
> class CI_Controller {
>
> private static $instance;
>
>  /**
>  * Constructor
>  */
>  public function __construct()
> {
> self::$instance =& $this;
>
> // Assign all the class objects that were instantiated by the
> // bootstrap file (CodeIgniter.php) to local class variables
>  // so that CI can run as one big super object.
> foreach (is_loaded() as $var => $class)
>  {
> $this->$var =& load_class($class);
> }
>
> $this->load =& load_class('Loader', 'core');
>
> $this->load->_base_classes =& is_loaded();
>
> $this->load->_ci_autoloader();
>
> log_message('debug', "Controller Class Initialized");
>
> // FIXME: arrumar maneira de extender o construct de todos os controles na
> application de forma nativa para nao precisar alterar o system/core
>     $this->lang->change($this->session->userdata('language'));
>
> }
> *
>
> *
> *
>  *Pablo Augusto
> SEO | SEM | Marketing Digital
>
> *
> *Me siga no Twitter:* @pabloaugusto <http://twitter.com/pabloaugusto>
> *Artigos sobre Otimização de sites <http://webtags.com.br/seo>, Marteking
> Digital e Mídias Sociais:* WebTags <http://webtags.com.br>
> MSN: [email protected]
> SKYPE: [email protected]
> EMAIL: [email protected]
>
>  [image: Linkedin] <http://linkedin.com/in/pabloaugusto> [image: 
> Twitter]<http://twitter.com/pabloaugusto>
>  [image: Facebook] <http://facebook.com/pabloaugusto> [image: 
> Flickr]<http://flickr.com/photos/pabloaugusto> [image:
> Youtube] <http://youtube.com/pabloaugustoo> [image: 
> FormSpring]<http://formspring.me/opabloaugusto> [image:
> LastFM] <http://lastfm.com.br/user/pabloaugustoo> [image: 
> DeviantART]<http://deviantart.com/pabloaugustoo> [image:
> Tumblr] <http://pabloaugusto.tumblr.com/> [image: 
> Vimeo]<http://vimeo.com/pabloaugusto> [image:
> del.icio.us] <http://del.icio.us/pabloaugusto> [image: 
> Slideshare]<http://slideshare.net/pabloaugusto> [image:
> Friendfeed] <http://friendfeed.com/pabloaugusto>
>
>
> _______________________________________________
> [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