Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Descobri a pouco tempo um helper do Minify para o CakePHP que faz a compactação do CSS e Javascript para reduzir o número de requests ao servidor. Depois de algum tempo pesquisando eu consegui fazer funcionar, porém todo link para imagens feito no css{ background:url('../img/imagem.jpg'); } parece ser reescrito e as imagens não são carregadas para o layout.
A instrução de uso e arquivos necessários podem ser encontrados aqui: http://blog.innovatechnologies.in/2011/2/Cakephp-helper-to-minify-javascript-and-css-assets e aqui: https://github.com/ketanshah79/cakephp/blob/master/cakephp/helper/minify.php
Alguém tem idéia de como fazer pra resolver esse "problema"?
Uma dica para quem está procurando optimizar as páginas:
No lugar de utilizar o sistema padrão do CAkePHP para enviar os estilos e scripts para a variável $scripts_for_layout, você pode dividir os arquivos CSS e JS utilizados em cada view individualmente e setar o nome dos arquivos pelo controller.
clientes_controller.php
<?php
class ClientesController extends AppController {
var $name = 'Clientes';
function index(){
// código da sua action
$css_for_layout = array('contato_index','formularios');
$js_for_layout = array('contato_index');
$title_for_layout = "Fale conosco";
$this->set(compact('title_for_layout','css_for_layout','js_for_layout'));
}//end function login()
}//end class
E no seu layout você põe: (default.ctp)
$estilos = array('reseter_v2','comum_a_todos','jquery.pnotify.default');
if(isset($css_for_layout) && !empty($css_for_layout)){
$estilos = array_merge($estilos,$css_for_layout); // Carrega os estilos específicos de cada página
}
echo $minify->css($estilos);
Assim você reduz a quantidade de coisa a ser carregada pelo site de uma só vez e ainda desfruta das vantagens do Minify, como: compactação e junção dos arquivos.
Fica aí a dica. ;)
Resolvi o problema!! O erro não estava nos Helpers, mas sim no próprio Minify. É porque ele reescreve as urls automaticamente, mas com uma linha no arquivo deconfiguração isso se resolve:
Links de referência:
http://code.google.com/p/minify/wiki/UriRewriting e
http://stackoverflow.com/questions/7053223/fixing-google-minify-css-url-screwup