В шаблонах для CMS Danneo используется буферизация некоторых шаблонных переменных.
Например, если какая-то переменная является результатом выполнения цикла, то для ее вывода используют буферизацию.
В качестве примера можно привести формирование таблицы с категориями мода статей.
Синтаксис буферизации похож на синтаксис условных выражений - он также использует html — комментарии.
Допустим нам требуется вывести динамическую таблицу (то есть количество строк в ней неизвестно).
Тогда синтаксис будет такой:
<table>
<!--buffer:rows:0-->
<tr>
<td>{cell1}</td>
<td>{cell2}</td>
<td>{cell3}</td>
</tr>
<!--buffer-->
Однако для правильного использования буферизации недостаточно знания только лишь шаблонной системы CMS Danneo.
Основная суть скрывается в php-файлах.
Несколько примеров буферизации в шаблонах CMS Danneo:
Вывод заголовка страницы (файл top.tpl):
<!--buffer:sitetitle:0-->
<div class="sitetitle">
<div class="cont">{title}</div>
</div>
<!--buffer-->
Вывод последних записей из модов (новости, ссылки, статьи) (файл top.tpl):
<!--buffer:siterec:0-->
<div class="siterec">
<div class="siterectime">{time}</div>{link}
</div>
<!--buffer-->
Вывод навигации по страницам (файл top.tpl):
<!--buffer:pagesout:0-->
<div class="pages">{text}: {pages}</div>
<!--buffer-->
Вывод ajax-блоков (файл top.tpl):
<!--buffer:ajaxbox:0-->
<div class="ac" id="ajaxbox" style="display:none"></div>
<!--buffer-->
Вывод таблицы с информацией о категориях (файл mod/news.cat.tpl):
<!--buffer:rows:0-->
<tr>
<td class="{style} ac" width="10%">{icon} </td>
<td class="{style} al" width="70%"><strong>{title}</strong>{desc}<br />{sub}</td>
<td class="{style} ac" width="20%">{total}</td>
</tr>
<!--buffer-->