2014-08-05 17:49:42 +04:00
|
|
|
|
Тег {extends}
|
|
|
|
|
=============
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
2014-08-05 17:49:42 +04:00
|
|
|
|
Тег `{extends}` реализует [наследование](../inheritance.md) шаблонов, иерархия, обратная {include}. То есть шаблон сам выбирает своего родителя.
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
|
|
|
|
### {extends}
|
|
|
|
|
|
|
|
|
|
Родительский шаблон можно задать единожды и до объявления какого-либо блока.
|
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{extends 'parent.tpl'}
|
|
|
|
|
```
|
|
|
|
|
|
2014-08-05 17:49:42 +04:00
|
|
|
|
**Замечание:**
|
|
|
|
|
Имя родительского шаблона может быть задан динамически, но в этом случае производительность шаблона значительно снижается.
|
2014-08-01 12:12:19 +04:00
|
|
|
|
```smarty
|
|
|
|
|
{extends $parent_tpl}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### {block}
|
|
|
|
|
|
2014-08-05 17:49:42 +04:00
|
|
|
|
Блок указывает фрагмент шаблона, который будет передан родителю. Имя блока должно быть задано явно:
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{block bk1}content 1{/block}
|
|
|
|
|
...
|
|
|
|
|
{block 'bk2'}content 2{/block}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### {use}
|
|
|
|
|
|
|
|
|
|
Что бы импортировать блоки из другого шаблона используйте тег {use}:
|
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{use 'blocks.tpl'}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### {parent}
|
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{block 'block1'}
|
|
|
|
|
content ...
|
|
|
|
|
{parent}
|
|
|
|
|
content ...
|
|
|
|
|
{/block}
|
2014-08-05 17:49:42 +04:00
|
|
|
|
```
|