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

