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

Llamar a vista al hacer click

Estas en el tema de Llamar a vista al hacer click en el foro de CodeIgniter en Foros del Web. Hola a todos! Estoy haciendo la base de un sistema en CI y tengo la siguiente inquietud. El sitio esta armado con plantillas (header.php, cuerpo.php ...
  #1 (permalink)  
Antiguo 21/11/2011, 15:30
 
Fecha de Ingreso: abril-2008
Mensajes: 12
Antigüedad: 16 años
Puntos: 0
Llamar a vista al hacer click

Hola a todos!
Estoy haciendo la base de un sistema en CI y tengo la siguiente inquietud.
El sitio esta armado con plantillas (header.php, cuerpo.php y footer.php).
Desde el controlador de inicio llamo aun template.php que carga los tres archivos. El contenido de "cuerpo.php" es dinamico (lo cargo desde variable).

Tengo un menu de opciones desde donde al hacer click en "empresas", se carga en "cuerpo" un listado de empresas.
La cuestion es justamente es, ¿como hago para que al hacer click en cualquier de esas empresas, se cargue la plantilla "empresaseditar.php" en "cuerpo".
Utilizo la libreria "table" y genero las filas con add_row.
¿Es en la funcion anchor de add_row donde debo indicarle que la carga la haga respetando el template?

Gracias!
Fabian
  #2 (permalink)  
Antiguo 21/11/2011, 15:41
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Llamar a vista al hacer click

Lo mas logico es que le pases un parametro y tu controlador actue en base al parametro, redireccionas o le devuelves una variable a la vista template.php para que cargue otra vista.

Pero todo son presunciones, habria que ver como organizas las vistas y como llamas al cuerpo.php
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 21/11/2011, 17:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Llamar a vista al hacer click

Como bien te dijeron tienes que pasar un parámetro a tu controlador calculo que lo que necesitas es algo así.
En la Tabla que dices tener el listado de las empresa, podrías agregar una columna que sea un link que llame al controlador anchor('/Empresa/editar_empresa/'.$empesa->getIdEmpresa(), 'Edit' ); creo que eso es lo que preguntabas... te describo un poco mas abajo.

Por cada empresa tendrías esta columna.
Código:
<td>
<?php 
   echo anchor('/Empresa/editar_empresa/'.$empesa->getIdEmpresa(), 'Edit' ); 
?>
</td>
Luego en tu controlador "Empresa" por así decirlo necesitarías algo así por lo que dices tener

Metodo del controlador
Código PHP:
function editar_empresa($idEmpresa)
{
     
// Recuperas de la base de datos la empresa gracias al $idEmpresa, 
     //utiliza los métodos que tengas en tu modelo.   

        
$data['empresa_recuperada'] = // La empresa que acabas de recuperar;
        
$data['cuerpo'] = 'empresaseditar.php';
        
$this->load->view('template',$data);

luego en la vista vas a tener en la variable $empresa_recuperada la empresa y en $cuerpo la porcion de vista a llamar

Seria el Archivo "template.php"
Código PHP:
$this->load->view('header'); 
$this->load->view($cuerpo);
$this->load->view('footer'); 
Y por ultimo en la vista que cargas gracias a la variable $cuerpo usas los datos recuperados de la empresa ($empresa_recuperada), no soy experto en Codeigniter pero creo que lo que deseas es algo asi, la proxima muestra el codigo que asi es mas facil, espera que se entienda.

Saludos.

Nico.

Última edición por nicostone; 21/11/2011 a las 19:30

Etiquetas: Ninguno
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 05:06.