Pessoal, boa noite!

 

Quero compartilhar uma solução que eu encontrei pra um problema que, se não
me engano, foi comentado aqui na lista: O uso de temas com o CI.

Lembro-me que alguém postou a sugestão do uso de CSS, porém dependendo do
que se tem em mente isso pode não ser uma solução das melhores.

 

Estou desenvolvendo um projeto que seria necessário o uso de temas. Após uma
semana quebrando a cabeça, acho q encontrei um a solução que no meu ponto de
vista parece ser boa: Estender a classe Loader.

 

O que eu fiz é simples: Primeiro criei um arquivo de configuração chamado
sistema.php onde eu defini a seguinte variável de configuração:

 

<?php

$config['tema']='nomedomeutema';

?>

 

Logo depois, dentro do diretório “libraries” da minha aplicação, criei o
arquivo MY_Loader.php com o seguinte código:

 

<?php

class MY_Loader extends CI_Loader {

 

      function __construct(){

            parent::CI_Loader();

      }

      

      function tview($view, $vars = array(), $return = FALSE)

      {

            $CI=& get_instance();

            return $this->_ci_load(array('_ci_view' =>
$CI->config->item('tema').'/'.$view, '_ci_vars' =>
$this->_ci_object_to_array($vars), '_ci_return' => $return));

      }     

}

 

?>

 

Com essa classe, agora eu tenho uma nova função: tview, que trabalha
basicamente igual a view(), porém ele buscará o arquivo da view dentro do
diretório configurado na variável tema. Dentro do diretório views, eu criei
um diretório chamado “nomedomeutema” que contém todas as views relacionadas
com o tema que eu informei no arquivo de configuração.

 

Essa pode não ser uma solução das mais inteligentes ou práticas, mas acho
que pode quebrar um bom galho pra quem tiver certa pressa e não quiser se
aventurar mto no core do ci. O q acham?

 

Abraços a todos!

 

Mike Maciel

DesenvolvaWEB

[EMAIL PROTECTED]

fone1(65) 8405-0370

 

"Não basta somente conhecer, também é preciso ter criatividade."

 



__________ Information from ESET Smart Security, version of virus signature
database 3301 (20080727) __________

The message was checked by ESET Smart Security.

http://www.eset.com

<<image005.jpg>>

<<image006.jpg>>

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a