/** * Cagar la vista del tema por defecto o del modulo actual. * * @param string $file Nombre de la vista a cargar, sin incluir la extension (.php) * @param array $vars variables a cargar en la vista. * @return void */ public function cargar_vista($file = "", $vars = array()) { //Ruta donde estan los templates self::$theme_path = self::$ci->config->item('theme_path'); //Template que se cargara por defecto. self::$theme_default = self::$ci->config->item('theme_default'); $vista_parcial = false; /** * Si el nombre del archivo es un arreglo * se trata de una vista parcial. */ if (is_array($file)) { self::$module = self::$controller = $file[0]; self::$modulo_vista = $file[1]; $file = $file[1]; $vista_parcial = true; } //Verificar si esta navegando en un modulo o en un //controlador fuera de la carpeta modules. $module_view_path = empty(self::$module) ? "" : self::$module_path . self::$module . "/views/"; if ($vars) { extract($vars); } //echo $module_view_path."<br>"; /* * Verificar si el archivo existe en la carpeta del tema actual. */ if (file_exists(self::$theme_path . self::$theme_default . "/{$file}.php")) { include_once self::$theme_path . self::$theme_default . "/{$file}.php"; } else { /* * De lo contrario verificar si se trata de una vista de un modulo o controlador */ if (empty($module_view_path)) { //Vista de un controlador fuera de la carpeta "modules" include_once APPPATH . "views/{$file}"; } else { if ($vista_parcial == true) { /*echo $module_view_path . $file." ". read_file($module_view_path . $file.""); die();*/ include_once $module_view_path . $file . ".php"; } else { if (file_exists($module_view_path . $file)) { include_once $module_view_path . $file; } } } } }