Файл ∗.tplh (предобработчик шаблона)

Предобработчики шаблонов применяются, если необходимо обработать данные перед их поступлением в шаблон. С таким же успехом, обработать данные можно было бы и в самом шаблоне. Но лучше отделить код обработки от кода представления.

Вместо обработки данных, предобработчики шаблонов можно применять также в качестве конфигурационных файлов для настроек шаблона.

Правила написания предобработчиков шаблонов

  • Предобработчики пишутся на языке PHP.

  • Файл скрипта должен иметь расширение .tplh и имя, совпадающее с именем шаблона.

  • В обработчике шаблона доступны все переменные шаблона, в частности: $block, $tab, $dat. Можно изменять любые переменные шаблона, и в таком измененном виде они поступят в шаблон. Однако, имеет смысл подвергать обработке только редактируемые данные блока ($tab).

  • Новые данные, которые нужно передать на шаблон, должны быть собраны в массиве $tdat. Под тем же именем массив будет доступен и в шаблоне.

  • В предобработчике шаблона доступен массив $udat объявленный в предобработчике обновления данных (файл *.tuh).



Пример. Суммирование колонок таблицы

Предобработчик sum.tplh
<?php
    foreach ($tab as $dat) {
        $tdat['sums'][1] += $dat[1];
        $tdat['sums'][2] += $dat[2];
    }
?>
Шаблон sum.tpl
<?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>';
?>



См. также