Предобработчики шаблонов применяются, если необходимо обработать данные перед их поступлением в шаблон. С таким же успехом, обработать данные можно было бы и в самом шаблоне. Но лучше отделить код обработки от кода представления.
Вместо обработки данных, предобработчики шаблонов можно применять также в качестве конфигурационных файлов для настроек шаблона.
Предобработчики пишутся на языке PHP.
Файл скрипта должен иметь расширение .tplh и имя, совпадающее с именем шаблона.
В обработчике шаблона доступны все переменные шаблона, в частности: $block, $tab, $dat. Можно изменять любые переменные шаблона, и в таком измененном виде они поступят в шаблон. Однако, имеет смысл подвергать обработке только редактируемые данные блока ($tab).
Новые данные, которые нужно передать на шаблон, должны быть собраны в массиве $tdat. Под тем же именем массив будет доступен и в шаблоне.
В предобработчике шаблона доступен массив $udat объявленный в предобработчике обновления данных (файл *.tuh).
Пример. Суммирование колонок таблицы
<?php
foreach ($tab as $dat) {
$tdat['sums'][1] += $dat[1];
$tdat['sums'][2] += $dat[2];
}
?>
<?php echo' <table> foreach ($tab as $dat) { echo' <tr> <td>'.$dat['edit'].'</td> <td>'.$dat[1].'</td> <td>'.$dat[2].'</td> </tr>'; } echo' <tr> <td>Итого:</td> <td>'.$tdat['sums'][1].'</td> <td>'.$tdat['sums'][2].'</td> </tr> </table>'; ?>