SowerPHP

Framework PHP hecho en Chile

Herramientas de usuario

Herramientas del sitio


mvc:view:layouts

Layouts

Los layouts definen el maqueteado de la página en general, donde dentro de esta irá el contenido de cada página renderizada. Actualmente los layouts solo pueden ser generados mediante una página con extensión .php

Importante: el layout es asignado mediante una sesión de PHP por lo cual si cambia se debe:

Layouts disponibles

El núcleo del framework trae por defecto el layout Bootstrap. La ventaja principal de este layout es que se adapta a las diferentes extensiones o módulos oficiales que puedan estar cargados. Entonces este sólo layout sirve para diferentes escenarios.

Además la extensión layouts provee algunos otros, muy básicos y por lo general no recomendados.

Construir un nuevo layout

Supongamos que queremos crear el layout MiLayout, los pasos son:

  1. Crear archivo View/Layouts/MiLayout.php con el código HTML y PHP del layout.
  2. Crear archivo webroot/layouts/MiLayout/css/screen.css con el código CSS del layout.
  3. Modificar el archivo Config/core.php para indicar que se utilizará el nuevo layout.
Configure::write('page.layout', 'MiLayout');

Utilizar un layout existente para crear nuestro nuevo layout

Si se desea utilizar como base un layout ya existente solo se debe copiar al directorio website/View/Layouts el layout desde el directorio estándar (lib/sowerphp/core/View/Layouts/Bootstrap.php) o donde se encuentre el layout (por ejemplo si estuviese en una extensión).

Vamos a usar el layout SimpleLight para crear uno nuevo llamado NuevoLayout:

$ mkdir -p website/View/Layouts
$ cp -avr /usr/share/sowerphp/extensions/sowerphp/layouts/View/Layouts/SimpleLight.php website/View/Layouts/NuevoLayout.php
$ mkdir -p website/webroot/layouts
$ cp -avr /usr/share/sowerphp/extensions/sowerphp/layouts/webroot/layouts/SimpleLight website/webroot/layouts/NuevoLayout

Una vez lo copiamos debemos editar el archivo Config/core.php:

\sowerphp\core\Configure::write('page.layout', 'NuevoLayout');

Luego solo nos queda editar el layout copiado para poder adaptarlo a nuestras necesidades.

Variables disponibles en el layout

  • $_header_title: título de la página: título + ubicación (para usar en tag title dentro de header).
  • $_header_extra: cabeceras extras con archivos js o css para incluir dentro del tag header.
  • $_body_title: título de la página (para usar en body).
  • $_pag: página que se está viendo.
  • $_nav_website: arreglo con el menú para la navegación principal.
  • $_nav_app: arreglo con el menú para la navegación de la aplicación.
  • $_footer: pie de página.
  • $_timestamp: última modificación del archivo de la página.
  • $_layout: nombre del layout que se está utilizando.
  • $_content: página solicitada ya renderizada.
mvc/view/layouts.txt · Última modificación: 2016/05/25 12:46 por delaf