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

En que momento llamo a las vistas ?

Estas en el tema de En que momento llamo a las vistas ? en el foro de CodeIgniter en Foros del Web. Hola... gente! Despues de conversar con miktrv, y seguir los consejos de GatorV y Nuclear ,... me dispuse a respetar al maximo el paradigma MVC, ...
  #1 (permalink)  
Antiguo 06/07/2011, 20:33
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
En que momento llamo a las vistas ?

Hola... gente!

Despues de conversar con miktrv, y seguir los consejos de GatorV y Nuclear,... me dispuse a respetar al maximo el paradigma MVC, especialmente no mezlando codigo de vistas en controladores.

Corté mi plantilla en varios segmentos y los intento llamar como vistas independientes y aqui el problema:

Debo llamar a las vistas en cada accion del controlador que este seguro es independiente de otras acciones ? o sino... como ? existe alguna funcion similar al __constructor() que se ejecute despues de cualquier otro metodo ? (estube mirando __destructor() pero la cosa es diferente.... y ademas me genera un error en CI)

Código PHP:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/* Controller */
class blog extends CI_Controller {    
    
    private 
$data = array();
  
    function 
__construct()
    {        
      
parent::__construct();                        
    
      
$this->load->library('Blog_lib');                            
      
$this->data['post_list'] = $this->blog_lib->get_last_entries(3);    
    
    }
    
    function 
post($uri){
      
$post_ay $this->blog_lib->get_entry_by_uri ($uri);       
      
$this->data['content'] = format_post($post_ay); /* helper */
      
$this->view();
    }
    
    function 
view(){
      
$this->load->view('tpl/corp/cuts/tpl_begin.php',$this->data);    $this->load->view('tpl/corp/cuts/tpl_header.php');
      
$this->load->view('tpl/corp/cuts/tpl_feature.php');
      
$this->load->view('tpl/corp/cuts/tpl_content.php',$this->data);
      
$this->load->view('tpl/corp/cuts/tpl_sidebar.php',$this->data);
      
$this->load->view('tpl/corp/cuts/tpl_footer.php');
    }        
   
}
Hecho asi... estaria bien ? hay forma de no repetir view() en cada controlador ? por herencia ?

GRACIAS
__________________
Salu2!

Última edición por Italico76; 06/07/2011 a las 20:43
  #2 (permalink)  
Antiguo 07/07/2011, 18:43
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: En que momento llamo a las vistas ?

para estos caso lo que te conviene hacer es usar un layout (creo que existen librerias "no" oficiales que hacen esto para CI) que te permiten tener el header y el footer + algo mas en un lugar y después en las controladores solamente mostras el contenido interno que quieras.
Si no, lamentablemente no te queda otra que que hacer las llamadas en todos los controladores donde tengas que renderizar vistas.

Salu2
  #3 (permalink)  
Antiguo 07/07/2011, 18:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: En que momento llamo a las vistas ?

gracias destor77 ... voy a ver si encuentro algo de eso.
__________________
Salu2!
  #4 (permalink)  
Antiguo 08/07/2011, 08:27
 
Fecha de Ingreso: marzo-2011
Mensajes: 68
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: En que momento llamo a las vistas ?

También podés tener una view "principal" por asi decirlo, a la cual llamas siempre y le pasas como parámetro la página que queres mostrar. Entonces ese view carga siempre el header, el footer, el menu y todo lo que necesites y además carga la página pasada como argumento.

No se si me explico.
Saludos!
  #5 (permalink)  
Antiguo 08/07/2011, 10:08
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: En que momento llamo a las vistas ?

Gracias Fabre! Investigando lo que decia Destor de Layouts, vi algo como lo que describis

Gracias a ambos !
__________________
Salu2!

Etiquetas: frameworks-y-php-orientado-a-objetos, mvc, php, vistas
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:04.