2016-04-12 09:37:40 +03:00
|
|
|
|
Тег `{extends}`
|
2014-08-05 17:49:42 +04:00
|
|
|
|
=============
|
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
|
|
|
|
|
2016-04-12 09:37:40 +03:00
|
|
|
|
### `{extends}`
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
|
|
|
|
Родительский шаблон можно задать единожды и до объявления какого-либо блока.
|
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{extends 'parent.tpl'}
|
|
|
|
|
```
|
|
|
|
|
|
2014-08-05 17:49:42 +04:00
|
|
|
|
**Замечание:**
|
|
|
|
|
Имя родительского шаблона может быть задан динамически, но в этом случае производительность шаблона значительно снижается.
|
2014-08-01 12:12:19 +04:00
|
|
|
|
```smarty
|
|
|
|
|
{extends $parent_tpl}
|
|
|
|
|
```
|
|
|
|
|
|
2016-04-12 09:37:40 +03:00
|
|
|
|
### `{block}`
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
2014-08-05 17:49:42 +04:00
|
|
|
|
Блок указывает фрагмент шаблона, который будет передан родителю. Имя блока должно быть задано явно:
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
|
|
|
|
```smarty
|
2018-03-15 11:49:33 +03:00
|
|
|
|
{block 'bk1'}content 1{/block}
|
2014-08-01 12:12:19 +04:00
|
|
|
|
...
|
|
|
|
|
{block 'bk2'}content 2{/block}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
2016-04-12 09:37:40 +03:00
|
|
|
|
### `{use}`
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
|
|
|
|
Что бы импортировать блоки из другого шаблона используйте тег {use}:
|
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{use 'blocks.tpl'}
|
|
|
|
|
```
|
|
|
|
|
|
2016-04-12 09:37:40 +03:00
|
|
|
|
### `{parent}`
|
2014-08-01 12:12:19 +04:00
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{block 'block1'}
|
|
|
|
|
content ...
|
|
|
|
|
{parent}
|
|
|
|
|
content ...
|
|
|
|
|
{/block}
|
2016-04-11 20:19:31 +03:00
|
|
|
|
```
|
|
|
|
|
|
2016-04-12 09:37:40 +03:00
|
|
|
|
### `{paste}`
|
|
|
|
|
|
2016-06-29 21:20:30 +03:00
|
|
|
|
Вставка кода блока в любое место через тег `{paste}`
|
2016-04-11 20:19:31 +03:00
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{block 'b1'}
|
|
|
|
|
...
|
|
|
|
|
{/block}
|
|
|
|
|
|
|
|
|
|
{paste 'b1'}
|
2016-04-12 09:37:40 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### `{$.block}`
|
|
|
|
|
|
2016-05-26 16:48:25 +03:00
|
|
|
|
Проверка наличия блока через глобальную переменную `$.block`
|
2016-04-12 09:37:40 +03:00
|
|
|
|
|
|
|
|
|
```smarty
|
|
|
|
|
{if $.block.header}
|
|
|
|
|
...
|
|
|
|
|
{/if}
|
2016-05-26 16:48:25 +03:00
|
|
|
|
```
|