 
Автоматическое назначение шаблона из родительского шаблона
Шаблон по умолчанию для блока
Допустим, block-данному, находящемуся в шаблоне aa.tpl, желательно назначать шаблон bb.tpl. В этом случае, в файле aa.tdd нужно написать:
aa.tdd
<?php
$types[1] = "block template('bb')";
//Вариант автоматического назначения:
//$types[1] = "block template('bb') option('new')";
?>
aa.tpl
<?php echo "
{$dat['edit']}<br>
$dat[1]<br>
" ?>
bb.tpl
<?php echo "
{$dat['edit']}
Это - шаблон по умолчанию
" ?>
Шаблон по умолчанию для внешнего блока страницы
Точно так же, если заранее известно, что страница, вернее ее внешний блок, будет иметь какой-то определенный шаблон, то в файле дескриптора (.tdd) шаблона, в котором находится ссылка на эту страницу, нужно написать:
aa.tdd
<?php
$types[1] = "page template('bb')";
//Вариант автоматического назначения:
//$types[1] = "page template('bb') option('new')";
?>
aa.tpl
<?php echo "
{$dat['edit']}<br>
<a href='?page=$dat[1]'>ссылка</a><br>
"; ?>
bb.tpl
<?php echo "
{$dat['edit']}
Это - шаблон по умолчанию
"; ?>
Опции назначения шаблона
Выше был рассмотрен, так сказать, полуавтоматический режим назначения шаблонов, когда в процессе замены шаблона система будет только предлагать к назначению тот или иной шаблон.
Можно пойти дальше, и в дескрипторе за пользователя выбрать и опцию назначения шаблона.
В этом случае, системе будет уже досточно данных для автоматического назначения шаблона.
Как задать эти параметры (шаблон и опцию), читайте в статьях Данные типа block и Данные типа page.
При разработке шаблонов, разработчику сайта желательно везде, где можно, указывать шаблон по умолчанию и опцию назначения шаблона.
В любом случае, если шаблон не подойдет, его можно заменить.
См. также
|