En artículos anteriores de DesarrolloWeb.com ofrecimos una buena introducción a los controladores, y aunque realmente no hemos visto todo lo que los controladores nos ofrecen, estamos en condiciones de aprender otras cosas jugosas en CodeIgniter, que seguro nos motivarán durante nuestro aprendizaje, al ver que todo es bastante sencillo de asimilar.
Las vistas no se acceden ni se invocan directamente con la solicitud de una URL en nuestra aplicación web, como ya podremos suponer. En realidad son módulos que se invocan desde los controladores, ya que en el modelo - vista - controlador que implementa CodeIgniter, la lógica de nuestra aplicación se almacena en el controlador y es éste el que debe llamar a las vistas que necesite para mostrar los resultados al visitante.
Así pues, los controladores decidirán qué hacer cuando se reciba una solicitud y las vistas decidirán cómo mostrar los resultados. Por decirlo de otra forma, la lógica de nuestra aplicación residirá en el controlador y la vista mantendrá el aspecto de nuestra página, el diseño de la página que se mostrará al usuario.
<html lang="es">
<head>
<title>Mi página web</title>
</head>
<body>
<h1>Bienvenido a mi web</h1>
</body>
</html>
Ahora podemos guardar esa vista con el nombre que deseemos y extensión ,php, por ejemplo mivista.php, en el directorio de las vistas que es "system/application/views".
Para cargar una vista hacemos lo siguiente:
$this->load->view('nombreDeLaVista');
En 'nombreDeLaVista' tendremos que indicar el nombre del archivo donde hemos guardado la vista, pero sin el ".php".
Veamos entonces cómo quedaría un controlador que llama a la vista que hemos hecho antes en este artículo.
<?php
class MiControlador extends Controller {
function index(){
$this->load->view('mivista');
}
}
?>
Este controlador lo guardamos en la carpeta de controllers con el nombre "micontrolador.php". Y ahora podremos acceder a él por medio de una URL como esta:
http://localhost/index.php/micontrolador
O si tenemos CodeIgniter instalado en nuestro dominio, con una URL como esta otra:
http://www.midominio.com/index.php/micontrolador
Deberíamos ver simplemente el contenido de esa vista creada anteriormente. Es así de simple.
Para ello simplemente creamos un subdirectorio con el nombre que queramos, dentro de "views" y guardamos allí las vistas. Por ejemplo pensemos que tenemos varias vistas que pertenecen todas a la zona de registro de usuarios y queremos organizarlas en la carpeta "registro" (ruta completa "system/application/views/registro"). Entonces, las vistas colocadas allí se invocarían indicando el subdirectorio donde se encuentran, de la siguiente manera:
$this->load->view('registro/formulario_registro');
Podremos invocar varias vistas en una función de un controlador, de una manera similar a esta:
function cargarVistas(){
//cargo una vista cabecera.php que está en el directorio plantillas
$this->load->view('plantillas/cabecera');
//cargo una vista llamada formulario_busqueda.php
$this->load->view('formulario_busqueda');
//creo un array de datos para enviarlo a una vista
$datos['page_title'] = 'Mi Título';
//cargo una vista llamada cuerpo.php a la que le mando un array de datos para configurarla
$this->load->view('cuerpo', $datos);
//cargo una vista que está en el directorio plantillas
$this->load->view('plantillas/pie');
}
En este ejemplo hemos cargado varias vistas y en una de ellas le hemos enviado datos para configurar cómo se mostrará al visitante, en concreto la vista cuerpo.php. Esta utilidad es fundamental para que las vistas muestren cualquier información que se envíe desde los controladores y no solamente un texto siempre igual. En el próximo artículo sobre vistas aprenderemos a realizar esta acción.
| Sobre el trabajo con las vistas Por: Fidel Hernández | 02/3/2010
|
| Avanzando facilmente | 19/3/2010 |
| excelente Por: Ivan | 30/11/2010
|
![]() basic82 | Error en $this->load->view | 01/4/2011 |
![]() basic82 | $this->load->view en CodeIgniter 2.0.1 | 01/4/2011 |
![]() cazapla... | un extraño caracter al inicio de las vistas | 30/10/2011 |
![]() cazapla... | vistas en UTF-8 | 31/10/2011 |
![]() cazapla... | problemas con utf-8 | 31/10/2011 |