(Я не использую Smarty или другую систему шаблонов, и я бы не хотел добавлять еще один уровень абстракции.)
Я знаю, что это не то, что вы хотите, но это именно то, чтоя бы сделал.Я не обязательно буду использовать шаблонизатор с его грамматикой wone, но я буду использовать php и создавать отдельные шаблоны фрагментов, содержащие структурную разметку, а затем передавать то, что мне нужно, например:
function get_partial($path, $args = array())
{
ob_start();
include($path);
return ob_get_clean();
}
function include_partial($path, $args = array())
{
echo get_partial($path, $args);
}
Затем в вашем шаблоне:
<div class="<?php echo $args['classname']?>">
<h4><?php echo $args['title'] ?></h4>
<?php echo $args['content'] ?>
</div>