Foros del Web » Programando para Internet » PHP » CodeIgniter »

Sistema de plantillas

Estas en el tema de Sistema de plantillas en el foro de CodeIgniter en Foros del Web. Hola: Estoy empezando con CI y lo veo muy interesante salvo el problema de las vistas. Estoy intentando crear un sistema de plantillas, pero ando ...
  #1 (permalink)  
Antiguo 11/03/2013, 08:26
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Sistema de plantillas

Hola:

Estoy empezando con CI y lo veo muy interesante salvo el problema de las vistas. Estoy intentando crear un sistema de plantillas, pero ando un poco perdido.

un saludo
  #2 (permalink)  
Antiguo 11/03/2013, 11:44
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: Sistema de plantillas

si no pones un problema no podemos ayudarte, y si pones algo de código sera mejor
un saludo
__________________
>> abimaelmartell.com
  #3 (permalink)  
Antiguo 11/03/2013, 16:20
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Sistema de plantillas

Hola:

siento no haberme explicado bien, pero después de darle vueltas he conseguido crear un sistema de plantillas (todavía le falta mucho, pero ya hace lo que quiero).

Creé un librería llamada templates que es hija de Loader y esta se encarga de crear el template y de añadirle la información después, aquí os dejo lo que tengo hasta ahora:
Código:
 class Templates extends CI_Loader {
 	

    public function __construct()
    {
        parent::__construct();
		$this->get_template();

    }
	//Cargamos el Template y le asignamos el titulo a la web
	public function get_template(){

		$data['title'] = $this->get_title();
		
		$this->view('templates/index', $data);
		
	}
	//Creamos el titlo de la web, una combinación del titulo más el nombre del control actual
	public function get_title(){
		

		$CI =& get_instance();
		
		$controller = ucfirst($CI->uri->segment(1));
		
		if ($controller == NULL) $this->title = TITULO_WEB; 
			 else $this->title = TITULO_WEB . ' | ' . $controller; 
		
		return $this->title;
	}
	
	
 }
y con esto va tirando.

Evidentemente hay que meterla en el autoloader para que lo haga bien
  #4 (permalink)  
Antiguo 13/03/2013, 04:32
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Sistema de plantillas

CodeIgniter ya tiene un sistema de plantilla interno, puedes echarle un vistazo en CodeIgniter Does Not Require a Template Engine de la documentación oficial.

Además y por lo que sé, puedes usar motores de plantillas ya existentes e incluirlos en CodeIgniter como Smarty, así no tendrás que crear uno desde cero.

Ten presente que un motor de plantillas hará que tu web sea más lenta, ya que tendrá que interpretar el código y pasarlo a PHP, para ya después procesarlo como es debido. Por eso te aconsejo que lo hagas directamente en PHP.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios
  #5 (permalink)  
Antiguo 13/03/2013, 11:05
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 137
Respuesta: Sistema de plantillas

@hasdpk eso no es tan cierto, yo eh usado motores de plantilla sin afectar el rendimiento, eso depende de muchos otros factores, y no tanto del motor de plantillas, otra cosa es que los motores de plantillas generalmente cachean y eso lo hace mas rapido.
un saludo y experimenten con lo que puedan ;)
__________________
>> abimaelmartell.com
  #6 (permalink)  
Antiguo 15/03/2013, 09:13
 
Fecha de Ingreso: septiembre-2009
Ubicación: México
Mensajes: 102
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Sistema de plantillas

Yo soy de la idea de que si existe y funciona solo hay que mejorarlo.

Pero suena interesante el motor de plantillas que estas creando

Etiquetas: plantillas, sistema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:56.