Дескриптор шаблона

Наименования полей. Однозаписный шаблон

Если в шаблоне имеются данные, подлежащие редактированию (для чего, собственно говоря, и делаются шаблоны), то необходимо дополнительно, кроме tpl-файла, создавать файл дескриптора шаблона .tdd (template data descriptor) и помещать его так же в папку сайта templates. Приведем пример шаблона и дескриптора шаблона, состоящего из строки с датой, заголовка и текста:

simple.tpl
<?php echo "

{$dat['edit']}
Дата: $dat[1]
<h1>$dat[2]</h1>     
$dat[4]     

"; ?>

simple.tdd
<?php

    $titles[1] = 'Дата';
    $titles[2] = 'Заголовок';
    $titles[3] = 'Текст';
    
    $types[1] = 'date';
    $types[2] = 'varchar(100)';
    $types[3] = 'text';
?>

В tdd-файлы написаны на языке PHP. Массив $titles является необязательным - он служит для отображения названий полей в окне редактирования блока (см. снимок).

Значениями массива $types выступают типы данных, которые рассматриваются в следующей статье.

Кроме названий и типов полей в дескрипторе могут использоваться дополнительные параметры дескриптора, в частности, в дескрипторе многозаписных шаблонов обязательно нужно добавлять параметр multi-record:

.tdd
<?php
    ...
    $params['multi-record'] = true;
?>


Изменения, произведенные в дескрипторе, не вступят в силу сразу после редактирования или замены tdd-файла (в папке сайта templates). Для того, чтобы изменения произошли, нужно открыть любую страницу, использующую блок с данным дескриптором, в режиме администратора.

См.также