Habilitar os hooks no arquivo application/config/config.php
$config['enable_hooks'] = TRUE;
Denifir um novo hook no arquivo application/config/hooks.php$hook['display_override'][] = array('class' => 'Layout',
'function' => 'init',
'filename' => 'Layout.php',
'filepath' => 'hooks'
);
Criar a classe application/hook/Layout.phpIncluir constantes com os caminhos no arquivo application/config/constants.php
define('LAYOUTPATH', APPPATH .'/views/layouts/');
define('JSPATH', APPPATH . '../assets/js/');
define('CSSPATH', APPPATH . '../assets/css/');
Organizar o diretório público para os Assets do projetoCriar um arquivo que será o template default do site em application/views/layouts/application.php
Criar uma classe centralizada para extender CI_Controller em application/core/MY_Controller.php
Baixar os frameworks css e javascript de sua preferência e colocá-los no diretórios assets/js/libs e assets/css/libs. No projeto estão sendo usados os seguintes: http://www.blueprintcss.org , http://jquery.com , http://www.modernizr.com
Referências:
http://flaviosilveira.com/2010/habilitando-layouts-no-codeigniter-template-engine-1
Estou tentando dividir o layout em partes assim:
ResponderExcluir{layout_header} — dentro dele eu chamo o {css_for_layout}
{content_for_layout}
{js_for_layout}
{layout_footer}
Porem não estou conseguindo….
Pode esclarecer de como dividir ele em partes.
Obrigado
Opa João, a classe de Layout (application/hook/Layout.php) , funciona como um parser, alterando uma lista definida de variaveis que estão entre {} por outro conteúdo. As variáveis layout_header, layout_footer não são conhecidas da classe, para isso você teria que alterar o funcionamento da mesma.
ResponderExcluirUma sugestão para você “fatiar” o seu layout html em partes menores é você usar as partials, Assim você pode criar partes de html referentes ao header e ao footer. O próximo post fala sobre isso e explica como usar partials no codeigniter acredito que pode te ajudar … Abraço!