fenom/docs/ru/tags/extends.md

1.6 KiB
Raw Permalink Blame History

Тег {extends}

Тег {extends} реализует наследование шаблонов, иерархия, обратная {include}. То есть шаблон сам выбирает своего родителя.

{extends}

Родительский шаблон можно задать единожды и до объявления какого-либо блока.

{extends 'parent.tpl'}

Замечание: Имя родительского шаблона может быть задан динамически, но в этом случае производительность шаблона значительно снижается.

{extends $parent_tpl}

{block}

Блок указывает фрагмент шаблона, который будет передан родителю. Имя блока должно быть задано явно:

{block 'bk1'}content 1{/block}
...
{block 'bk2'}content 2{/block}

{use}

Что бы импортировать блоки из другого шаблона используйте тег {use}:

{use 'blocks.tpl'}

{parent}

{block 'block1'}
  content ...
  {parent}
  content ...
{/block}

{paste}

Вставка кода блока в любое место через тег {paste}

{block 'b1'}
  ...
{/block}

{paste 'b1'}

{$.block}

Проверка наличия блока через глобальную переменную $.block

{if $.block.header}
    ...
{/if}