Primero definiremos un esqueleto genérico para nuestro portal, en nuestro caso un patrón de dos columnas con cabecera y pie, y una sección destinada a un menú rápido. He tomado como ejemplo las múltiples plantillas gratuitas que circulan por Internet, concretamente la usada aquí puede encontrarse en http://www.maxdesign.com.au/articles/css-layouts/two-liquid/
Seguiremos los siguientes pasos:
- Header: Cabecera del portal, logo, motor de búsqueda, etc.
- Navigation: Menú de acceso rápido.
- Aside: Menú lateral de usuario.
- Main Content: Contenido del portal.
- Footer: Pie del portal, contacto, copyright, etc.
- Crearemos una carpeta nueva en el directorio application llamada layouts.
- En la nueva carpeta creada añadiremos una subcarpeta llamada scripts.
- Crearemos el fichero layout.phtml en application/layouts/scripts.
- Crearemos una carpeta llamada css en public.
- Crearemos una carpeta llamada images en public, donde depositaremos el fondo de la columna derecha.
Contenido del fichero application/layouts/scripts/layout.phtml
<?php echo $this->doctype (); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <?php echo $this->headTitle (); echo $this->headScript (); // add a link to the site style sheet $this->headLink ()->appendStylesheet ( '/css/layout.css' ); echo $this->headLink (); ?> </head> <body> <div id="container"> <div id="header"> <h1>Zend Framework CMS</h1> </div> <div id="navigation"> <?php echo $this->layout()->nav;?> </div> <div id="content-container"> <div id="content"> <?php echo $this->layout()->content?> </div> <div id="aside"> <?php echo $this->layout()->subNav;?> </div> <div id="footer"> <em>Powered by the Zend Framework</em> </div> </div> </div> </body> </html>Contenido del fichero public/css/layout.css:
@CHARSET "ISO-8859-1"; #container { margin: 0 auto; width: 100%; background: #fff; } #header { background: #ccc; padding: 20px; } #header h1 { margin: 0; } #navigation { float: left; width: 100%; background: #333; } #navigation ul { margin: 0; padding: 0; } #navigation ul li { list-style-type: none; display: inline; } #navigation li a { display: block; float: left; padding: 5px 10px; color: #fff; text-decoration: none; border-right: 1px solid #fff; } #navigation li a:hover { background: #383; } #content-container { float: left; width: 100%; background: #FFF url(/images/layout-two-liquid-background.gif) repeat-y 68% 0; } #content { clear: left; float: left; width: 60%; padding: 20px 0; margin: 0 0 0 4%; display: inline; } #content h2 { margin: 0; } #aside { float: right; width: 26%; padding: 20px 0; margin: 0 3% 0 0; display: inline; } #aside h3 { margin: 0; } #footer { clear: left; background: #ccc; text-align: right; padding: 20px; height: 1%; }
Hemos de incluir el directorio de layouts creado en nuestro fichero de configuración para que la aplicación cargue sus contenidos. Para ello editamos application/configs/application.ini y añadimos en la sección production la entrada :
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
Para finalizar sustituiremos el contenido del portal por un texto más simple. Para ello editaremos el fichero application/views/scripts/index/index.phtml con el siguiente código:
<h2>Home</h2> <p>Esta es la página Home por defecto...</p>
Podemos probar el resultado navegando en http://localhost:
No hay comentarios:
Publicar un comentario