2011-03-31 2 views

Répondre

1

puis lors du chargement de la vue, inclure la variable de session dans le chemin,

$this->load->view('themes/'.$theme.'/<page>');

+0

Thanx @arun mais est-il nécessaire d'ajouter la variable thème de la session – binesh

+0

sessions sont sans doute la meilleure façon de le faire. Vous pouvez également utiliser un cookie, ou même un segment d'URI, mais cela doit être présent dans chaque URI pour fonctionner correctement. Voir mon message pour une autre option – Ross

+0

@binesh hey il semble que vous avez les thèmes dans http: //example.com/thems/. Que voulez-vous dire par thèmes ??? ... Est-ce que les fichiers de vue ou juste des images et css. Les fichiers de vue Coz ne peuvent pas être à l'intérieur de http :: //example.com/thems/ –

0

Phil Sturgeon et plusieurs autres ont écrit des bibliothèques de modèles qui prennent en charge des thèmes plus ou moins prêts à l'emploi. Cela vous permet de garder la structure MVC et est plutôt flexible.

Plus sur the docs

2

apparaissent juste la classe de base de CI_Loader. Créer un nouveau fichier à l'application/core/MY_Loader.php et étendre la méthode __construct

 
class My_Loader extends CI_Loader 
{ 
    function __construct() 
    { 
     //Change this property to match your new path 
     $this->_ci_view_path = APPPATH.'views/'; 
     $this->_ci_ob_level = ob_get_level(); 
     $this->_ci_library_paths = array(APPPATH, BASEPATH); 
     $this->_ci_helper_paths = array(APPPATH, BASEPATH); 
     $this->_ci_model_paths = array(APPPATH); 
     log_message('debug', "Loader Class Initialized"); 
    } 
} 

Je suis très intéressé si ce petit hack fonctionne :)

Questions connexes