103 Чанки (partials)
Чанки содержат повторно используемые куски Twig-разметки, которые могут быть использованы в любом месте сайта. Чанки чрезвычайно полезны для элементов, которые повторяются на разных страницах или макетах. Хороший пример чанка - футер, который используется в разных макетах. Кроме того, чанки необходимы для обновления содержимого страницы с использованием AJAX
Введение
Файлы чанков находятся в подпапке /partials темы. Файлы чанков должны иметь htm расширение. Пример простейшего чанка:
<p>This is a partial</p>
Раздел конфигурации необязателен для чанков и может содержать опциональный параметр description, который будет отображаться в админке. Пример чанка с описанием:
description = "Demo partial"
==
<p>This is a partial</p>
Вывод чанков
Twig-тег {% partial "partial-name" %}
выводит чанк. Этот тег имеет один обязательный параметр - имя файла чанка без расширения. Помните, если хотите использовать чанк из подпапки, то вы должны указать имя подпкапки {% partial "subdirectory/partial-name" %}
. Тег {% partial %}
может использоваться внутри страницы, макета или же другого чанка. Пример страницы, использующей чанк:
<div class="sidebar">
{% partial "sidebar-contacts" %}
</div>
Параметры чанков
Вы увидите, что вам часто приходится передавать переменные чанкам из внешнего кода. Это делает чанки еще более полезными. Например, у вас есть чанк, выводящий список постов блога и параметром этого чанка является массив постов. В таком случае, вы можете использовать этот чанк в архиве блога, на странице категории блога и так далее. Вы можете передавать параметры чанков, указав их после имени чанка в теге {% partial %}
:
<div class="sidebar">
{% partial "sidebar-contacts" city="Vancouver" country="Canada" %}
</div>
Внутри чанка, получить доступ к параметру можно также, как и к любой другой переменной:
<p>Country: {{ country }}, city: {{ city }}.</p>