Voici un plugin de template de type block permettant de compresser du JS dans un template :
<?php
function jtpl_block_common_jscompress(
$compiler,
$begin,
$params = array())
{
if ($begin)
{
$content = ' ob_start();';
}
else
{
$content = '
$buffer = preg_replace(
array(
"/\/\/.*\n/",
"/[\t\n]+/",
"/\/\*.*?\*\//"
),
array(
" ",
" ",
" "
),
ob_get_contents()
) . "\n";
ob_end_clean();
print $buffer;';
}
return $content;
}
?>
Ça fonctionne comme ça :
{jscompress}
var lol = function()
{
var kikoo = 'lol';
return kikoo;
}
{/jscompress}
Et ça retourne :
var lol = function() { var kikoo = 'lol'; return kikoo; }
Pensez à bien mettre des point virgules en fin de lignes ;)