P3rukao 0 Denunciar post Postado Novembro 4, 2011 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"? Compartilhar este post Link para o post Compartilhar em outros sites
P3rukao 0 Denunciar post Postado Novembro 16, 2011 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: $min_serveOptions['rewriteCssUris'] = false; Pronto, com isso, o minify funciona perfeitamente na sua página. Links de referência: http://code.google.com/p/minify/wiki/UriRewriting e http://stackoverflow.com/questions/7053223/fixing-google-minify-css-url-screwup Compartilhar este post Link para o post Compartilhar em outros sites
P3rukao 0 Denunciar post Postado Novembro 16, 2011 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. ;) Compartilhar este post Link para o post Compartilhar em outros sites