Layouts en CakePHP
2008-04-25 21:24:25-05
Desarrollo
Para cambiar la apariencia general de nuestra aplicación CakePHP usa layouts, los cuales están colocados en el directorio app/views/layouts/. Un layout mínimo sería como este:
< ? php
echo $html->docType();
echo '< html>< head >';
echo $html->css('styles'); // carga los estilos CSS
echo '< title >'. $title_for_layout . '< /title >';
?>
< /head >
< body >
< ? php echo $content_for_layout; ?>
< /body >
< /html >
Este archivo lo guardamos como app/views/layouts/portal.ctp, la extensión ctp es por "cake template". La variable más importante aquí es $content_for_layout, que contiene el resultado de la vista. En este caso, como se indica, debe existir un archivo /app/webroot/css/styles.css con el diseño del layout.
Si queremos usar este layout debemos indicarlo en la acción del controlador:
$this->layout = 'portal';
por omisión el valor de $this->layout es 'default' y por eso ese es el layout que CakePHP busca por default, pero yo prefiero tener un layout default.ctp simple y sin mucho CSS porque cuando CakePHP manda errores el default.ctp muchas veces tiene demasiadas cosas.
Este es un ejemplo elemental, por supuesto los layouts de la vida real son más complejos, como éste.
< ? php
echo $html->docType();
echo '< html>< head >';
echo $html->css('styles'); // carga los estilos CSS
echo '< title >'. $title_for_layout . '< /title >';
?>
< /head >
< body >
< ? php echo $content_for_layout; ?>
< /body >
< /html >
Este archivo lo guardamos como app/views/layouts/portal.ctp, la extensión ctp es por "cake template". La variable más importante aquí es $content_for_layout, que contiene el resultado de la vista. En este caso, como se indica, debe existir un archivo /app/webroot/css/styles.css con el diseño del layout.
Si queremos usar este layout debemos indicarlo en la acción del controlador:
$this->layout = 'portal';
por omisión el valor de $this->layout es 'default' y por eso ese es el layout que CakePHP busca por default, pero yo prefiero tener un layout default.ctp simple y sin mucho CSS porque cuando CakePHP manda errores el default.ctp muchas veces tiene demasiadas cosas.
Este es un ejemplo elemental, por supuesto los layouts de la vida real son más complejos, como éste.
Permalink: http://www.mononeurona.org/users/entry/aarkerio/1300
Comentblogs:1.-
rnstux wrote:
Muy buenos tus quick's!! Me gustaria que siguieras sacando mas..y si puedes como utilizar javascript con cakephp :) grax!
2008-04-28 16:22:26-05
Muy buenos tus quick's!! Me gustaria que siguieras sacando mas..y si puedes como utilizar javascript con cakephp :) grax!
2008-04-28 16:22:26-05
2.-
rnstux wrote:
ah y tambien explicar lo de las relaciones...hasMany, etc etc..
2008-04-28 16:24:15-05
ah y tambien explicar lo de las relaciones...hasMany, etc etc..
2008-04-28 16:24:15-05











