Ya hechas las primeras configuraciones y logrado imprimir en pantalla algunas variables utilizando las tres capas vamos a avanzar un poco más: debemos instalar nuestra plantilla de diseño.
WebShop
Vamos a descargar cualquier plantilla HTML-CSS desde internet o bien crear nuestro propio diseño para realizar nuestro sistema web de compra en línea. Yo elegí esta plantilla que descargue de internet (ya que no quiero pasar vergüenza con mis propios diseños). Quiero agregar a demás que esta es una forma que inventé para darle una estructura al proyecto, si usted encuentra una mejor, hágamelo saberJ.
Antes que todo, debemos tener claro que la plantilla que elegimos será el diseño que tendrá nuestro website, y que algunas partes del sitio cambiarán y otras serán siempre las mismas, como por ejemplo: el head y el menú siempre serán lo mismo
Veamos la plantilla
Nota: Mis diseños son algo mas podrido que esto.
Como se muestra en esta figura, YO quiero dividir esta plantilla en 3: cabecera, menú, y pie de página. ¿Para qué? pues porque para lo que yo voy a hacer, solo necesito que cambie el contenido y se conserve el head y el footer(a no ser que se me ocurra otra cosa más adelante)
Para esto debemos separar el código de esta plantilla en tres (estoy explicando mi plantilla pero debes adecuarla a la tuya)
1.head
<!--?echo $title; ?-->
Nota: ojo con la variable $title que no era de la plantilla inicial, mas adelante veremos para que nos sirve.
2.HomeView
<!-- _El Head lo dejamos acá pq nos servirá mas adelante--></pre> <div id="header"> <ul class="small"> <li><a href="#"><img src="images/m1.gif" alt="" width="60" height="40" /></a></li> <li><a href="#"><img src="images/m2.gif" alt="" width="73" height="40" /></a></li> <li><a href="#"><img src="images/m3.gif" alt="" width="71" height="40" /></a></li> <li><a href="#"><img src="images/m4.gif" alt="" width="89" height="40" /></a></li> <li><a href="#"><img src="images/m5.gif" alt="" width="114" height="40" /></a></li> <li><img src="images/m_end.jpg" alt="" width="359" height="40" /></li> </ul> <img src="images/picture.jpg" alt="" width="766" height="165" /> <ul class="menu"> <li><a href="#"><img src="images/menu_1.gif" alt="" width="69" height="32" /></a></li> <li><a href="#"><img src="images/menu_2.gif" alt="" width="91" height="32" /></a></li> <li><a href="#"><img src="images/menu_3.gif" alt="" width="104" height="32" /></a></li> <li><a href="#"><img src="images/menu_4.gif" alt="" width="76" height="32" /></a></li> <li><a href="#"><img src="images/menu_8.gif" alt="" width="111" height="32" /></a></li> </ul> </div> <div id="content"> <div class="inner_copy"><a href="http://www.freetemplatesonline.com/">Free Web Templates</a> <a href="http://www.websitetemplates.org/">Website Templates</a> <a href="http://www.webdesign.org/website-design">Website Design</a></div> <div class="left"> <img src="images/title1.gif" alt="" width="176" height="38" /> <div class="block"> <img src="images/foto1.jpg" alt="" width="113" height="113" /> <strong>Black & Decker Steam Xpress 620 Iron</strong> $24.95 <a href="#"><img src="images/add.gif" alt="" width="113" height="26" /></a></div> <div class="block"> <img src="images/foto2.jpg" alt="" width="113" height="113" /> <strong>Black & Decker Steam Xpress 620 Iron</strong> $24.95 <a href="#"><img src="images/add.gif" alt="" width="113" height="26" /></a></div> <div class="block"> <img src="images/foto3.jpg" alt="" width="113" height="113" /> <strong>Black & Decker Steam Xpress 620 Iron</strong> $24.95 <a href="#"><img src="images/add.gif" alt="" width="113" height="26" /></a></div> <div class="grey"> <img src="images/title2.gif" alt="" width="113" height="35" /> <img class="img" src="images/foto5.jpg" alt="" width="113" height="113" /> <strong>If you're interested in licensing or reselling in your country, please</strong> free to contact us We offer exclusive licensing or reseller volume rates, depending on your marketing approach. Also, if you would like to distribute a local- ized version E in your country, we'd be glad to assist you in</div> </div> <div class="right"> <img src="images/login.gif" alt="" width="222" height="35" /> <div class="login"><img src="images/text1.gif" alt="" width="61" height="21" /><input type="text" /> <img src="images/text2.gif" alt="" width="61" height="21" /><input type="text" /><button> </button></div> <img src="images/ultimos.gif" alt="" width="222" height="35" /> <ul class="list"> <li>National Parent's Day 7/28</li> <li>Rose Celebretion</li> <li>Summer</li> <li>Problem Solvers</li> <li>American Spirit</li> <li>Best Sellers</li> <li>Big Summer Sale</li> <li>Gift Basket & Gift Packs</li> <li>Same Day Gifting</li> <li>APO/FPO</li> </ul> </div> </div> <pre>
3.footer
</pre> <div id="footer"><a href="#">SUCURSALES</a> <a href="#">CONTACTENOS</a> <a href="#">MAPA DEL SITIO</a> <a href="#">EMPRESA</a> <a href="#">AYUDA</a> <a href="#">PRODUCTOS</a> 2011 PC WEB SHOP</div> <pre>
Lo siguiente es crear una nueva carpeta dentro da la carpeta views llamada plantillas y dentro de esta carpeta tres archivos que le llamaremos header.php y footer.php y plantilla.php (views) Dentro de header.php pondremos todo el código de correspondiente a header (1) y agregaremos el siguiente código php en esta cabecera: Dentro de footer.php pondremos todo el código correspondiente a footer (3) y dentro de plantilla.php el siguiente código PHP
$this->load->view("plantillas/header");
$this->load->view($contenido);
$this->load->view("plantillas/footer");
?>
nota: recuerda que para llamar a una vista solo debes pones el nombre sin la extensión php. De momento el código HTML contenido (2) no lo tocaremos. A demás del Vamos a crear o modificar nuestra vista HomeView. Nuestro árbol de directorios quedara de la siguiente forma.
y dentro de HomeView.php vamos a insertar todo el código de HomeView(parte 2) Creando el Controller Home En realidad voy a modificar el Home para poder poner en rodaje nuestra plantilla HTML de diseño y darle sentido a todo lo que acabamos de hacer anteriormente. Vamos a abrir el Controlador Home y vamos a agregar el siguiente código:
</pre>
class Home extends CI_Controller{
function __construct()
{
parent::__construct();
}
function index()
{
$data['contenido'] = 'HomeView';
$data['title'] = "WebShop :: Inicio";
$this->load->view('plantillas/plantilla',$data);
}
}
<pre>
Como funciona un controlador ya es conocido y que $data [ ] contiene un conjunto de variables que le podemos pasar a una vista también. ¿Pero qué es lo extraño aquí? que se está cargando a una vista que en su código carga 3 vistas más :S
Nada complicado. Plantilla.php que está en la carpeta plantillas carga de manera FIJA la cabecera (head) y el pie de página (footer) cada vez que se llama a un Controller.
$this->load->view(“plantillas/header”);
$this->load->view(“plantillas/footer”);
Pero el contenido se lo pasaremos dinámicamente dependiendo de qué página queramos mostrar en el controlador mediante la variable $contenigo creada en el Home Controller($data['contenido'] = ‘HomeView’;)
$this->load->view($contenido);
Si ya habéis enganchado mi idea te darás cuentas que lo que hago en el Home Controller -método index, es pasarle a la plantilla principal el valor de la variable $contenido para que me vaya cargando en el contenido las distintas vistas que nosotros creemos, ejemplo: HomeView, RegistroView, ProductoView etc.
Vamos a poner en nuestro proyecto las imágenes y los archivos css correspondientes a nuestra plantilla.
Ahora queda arrancar nuestro proyecto y verlo en un navegador
Espero les sirva
Si disfrutaste nuestro artículo, siéntete libre de suscribirte a nuestro feed rss


























