public static function getLoop()
{
$columnTemplate = function_exists('columnTemplate') ? call_user_func('columnTemplate') : '<div class="col{{{number}}}">{{{content}}}</div>';
$layoutTemplateDefined = false;
if (function_exists('layoutTemplate')) {
$layoutTemplate = call_user_func('layoutTemplate');
$layoutTemplateDefined = true;
} else {
$layoutTemplate = '';
}
$output_columns = array();
$m = new Mustache();
foreach (self::$columns as $col => $classes) {
$boxes = '';
foreach ($classes as $class) {
$boxes .= $class->renderBox();
}
$output_columns['col' . $col] = $m->render($columnTemplate, array('number' => $col, 'content' => $boxes));
if (!$layoutTemplateDefined) {
$layoutTemplate .= '{{{col' . $col . '}}} ';
}
}
return $m->render($layoutTemplate, $output_columns);
}