CakePHP – layouts, css e afins

Bom, como disse eu meu post anterior, uma das coisas que tenho estudado recentemente é o framework para php CakePHP. Neste post falarei um pouco da sua estrutura e onde ficam os arquivos de layout, css, e afins.

O Cake possui a seguinte estrutura na sua aplicação:

Sendo que a pasta app contém a estrutura da sua aplicação, enquanto que a pasta cake possui o framework em propriamente dito. A pasta contendo a sua aplicação possui a seguinte estrutura:

Dentro desta estrutura, os arquivos de layout e os arquivos de estilo css encontram-se respectivamente nas pastas views/layouts e webroot/css. Entrando na pasta views/layouts, provavelmente voce encontrará um arquivo vazio. Isto acontece pois o layout default da sua aplicação encontra-se na pasta do cake, e não da sua aplicação. Porém basta criar um arquivo chamado home.ctp para sobrescrever o layout default. Caso voce queria visualizar o arquivo home.ctp orginal, ele encontra-se em cake/libs/view/layouts, e o seu conteúdo pode ser conferido abaixo:

<!--?php /**  *  * PHP versions 4 and 5  *  * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)  * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)  *  * Licensed under The MIT License  * Redistributions of files must retain the above copyright notice.  *  * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)  * @link          http://cakephp.org CakePHP(tm) Project  * @package       cake  * @subpackage    cake.cake.libs.view.templates.layouts  * @since         CakePHP(tm) v 0.10.0.1076  * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)  */ ?-->

	<!--?php echo $this--->Html->charset(); ?>

		<!--?php __('CakePHP: the rapid development php framework:'); ?-->
		<!--?php echo $title_for_layout; ?-->

	<!--?php 		echo $this--->Html->meta('icon');

		echo $this->Html->css('cake.generic');

		echo $scripts_for_layout;
	?></pre>
<div id="container">
<div id="content">
 <!--?php echo $this--->Session->flash(); ?>

 <!--?php echo $content_for_layout; ?--></div>
<div id="footer"><!--?php echo $this--->Html->link(
 $this->Html->image('cake.power.gif', array('alt'=> __('CakePHP: the rapid development php framework', true), 'border' => '0')),
 'http://www.cakephp.org/',
 array('target' => '_blank', 'escape' => false)
 );
 ?></div>
</div>
<pre>
 <!--?php echo $this--->element('sql_dump'); ?>

Mantendo o escopo deste post, irei falar agora o que fazer para adicionar algum arquivo css em seu layout.
Analizando o código acima, podemos verificar a existencia da seguinte linha de código dentro do head:

echo $this->Html->css(`cake.generic`);

O trecho acima de código está fazendo uso do helper Html, que o cake oferece. Ao utilizá-lo, voce estará adicionando um arquivo css que está localizado em: app/webroot/css. Sendo assim, caso voce queira adicionar um arquivo em seu projeto, basta colocá-lo nesta pasta e adicioná-lo utilizando o helper Html.
Bem, por hoje é só 😉

Anúncios

2 comentários sobre “CakePHP – layouts, css e afins

  1. Cara, tão simples… com vergonha de dizer, mas eu quase virei a noite procurando esse arquivo css.. hahaha… vida de iniciante é ralada..

    ajudou bastante ^^

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s