fix code frame of inline (merged) subtemplate

This commit is contained in:
Uwe Tews
2015-01-03 21:32:33 +01:00
parent 8b71e591c0
commit 66eac7bc2a
2 changed files with 19 additions and 5 deletions
@@ -73,4 +73,19 @@ class Smarty_Internal_Extension_CodeFrame
$output .= "<?php }\n}\n?>";
return $output;
}
public static function createFunctionFrame(Smarty_Internal_Template $_template, $content = '')
{
if (!isset($_template->properties['unifunc'])) {
$_template->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true));
}
$output = "<?php\n";
$output .= "/*%%SmartyHeaderCode:{$_template->properties['nocache_hash']}%%*/\n";
$output .= "function {$_template->properties['unifunc']} (\$_smarty_tpl) {\n";
$output .= "?>\n" . $content;
$output .= "<?php\n";
$output .= "/*/%%SmartyNocache:{$_template->properties['nocache_hash']}%%*/\n";
$output .= "}\n?>";
return $output;
}
}