 
Дополнительные данные блока (допданные)
В многозаписных шаблонах часто возникает необходимость в данных, которые относились бы ко всему блоку, а не к отдельным записям блока.
Это может быть заголовок блока или различные настройки блока, редактируемые пользователем.
В принципе, эту задачу можно решить с помощью дополнительных блоков, но для разработчика сайта удобнее воспользоваться допданными, так как они доступны в том же блоке в виде переменных шаблона.
Пример: в списке вакансий каждая запись состоит из наименования вакансии и описания вакансии.
Задача — над списком вакансий поместить заголовок, а под списком указать электронный адрес, куда отправлять резюме.
Дескриптор и шаблон будут выглядеть так:
list.tdd | list.tpl | |
<?php
$titles[1]='Наименование';
$titles[2]='Описание';
$types[1]='varchar(100)';
$types[2]='text';
$params['isMultiRec'] = true;
####### Допданные #######
$xtitles[1]='Заголовок';
$xtitles[2]='e-mail';
$xtypes[1]='varchar(100)';
$xtypes[2]='varchar(100)';
|
<?php
echo'
<h1>'.$xdat[1].'</h1>
<ul>';
foreach ($tab as $dat)
{
echo'
<li>'.$dat['edit'].'
<h2>'.$dat[1].'</h2>
<div>'.$dat[2].'</div>
</li>';
}
echo'
</ul>
<a href="mailto:'.$xdat[2].'">Отправить резюме</a>';
|
Для заголовка всей страницы лучше использовать внешний шаблон страницы.
Работать с допданными нужно точно также, как и с обычными данными, единственное отличие — ко всем переменным нужно добавлять префикс 'x':
- В дескрипторе можно объявлять массивы: $xtitles, $xtypes, $xdefaults, $xparams, $xkeys, $xoptions.
- В шаблоне можно применять массивы: $xtab, $xdat и т.д.
Допданные также полезны в качестве редактируемых пользователем настроек блока (дез допданных настройки пришлось бы записывать в дескрипторе или шаблоне).
См. также
|