У меня есть странная ситуация, когда мой шаблон ветки создает контент, который помещается в несколько «ящиков», так что количество содержащихся ящиков может варьироваться. Я ищу общий способ определения n блоков в дочернем шаблоне, и родитель отобразит правильный номер. Вот пример того, как сейчас выглядит мой дочерний шаблон:
{% extends "layout.participant.html.twig" %}
{% block box_left_title %}Personal Information{% endblock %}
{% block box_left_content %}
content here
{% endblock %}
Учтите, что может быть один, два или потенциально 5 таких парных разделов заголовок/содержание. Я представляю себе какой-то способ определить box_left_title
в качестве первого слота массива, а затем родительский шаблон (layout.participant.html.twig
) будет перебирать каждый блок и строить столько «ящиков», сколько необходимо.
Обходной путь, который я сейчас рассматриваю, состоит в том, чтобы определить блоки box_left_content_1
, box_left_content_2
и т. д. в родительском шаблоне, а затем определить только те, которые используются в дочернем шаблоне. Хотя это будет работать, это ощущается неправильно.
Я неправильно использую здесь наследование шаблонов? Должен ли я вместо этого изучить условные включения? Указания на это приветствуются.
Обновление: мой вопрос предполагал, что у меня могут быть динамические блоки в родительском шаблоне, но это оказалось невозможно. Я полагаю, что мне нужно будет определить block1
, block2
и т. д. в родительском элементе (с учетом разумного верхнего предела), а затем предоставить блоки с содержимым в дочерних элементах. Все это предполагает, что включение не является предпочтительным подходом.