У меня есть следующие два шаблонаTwig - Использование нескольких шаблонов детей в родителях
parent.html
<ul class="basketItems">
{% for item in items %}
{{ item | raw }}
{% endfor %}
</ul>
child.html
<li>
<a href="/go/to/my/page">{{ link.title}}</a>
</li>
Теперь я хотел бы иметь несколько экземпляров child.html в parent.html. В моем php-коде мне нужно пропустить дочерние элементы и передать объект ссылки, чтобы можно было заполнить переменную link.title.
Мой текущий код включает в себя загрузку в parent.html, затем рендеринг каждого дочернего элемента и создание массива php, а затем рендеринг parent.html и передачу всего сгенерированного html дочерних элементов в виде записей массива (см. Ниже). Есть ли простой способ сделать это, не создавая php-массив html-фрагментов, возможно, используя блоки Twig.
$parent = $twig->loadTemplate("parent.html");
foreach ($items as $item) {
$child = $twig->loadTemplate("child.html");
var $link = link::get($item->id));
/* do some other database retreival/data processing work */
$childHtml[] = $child->render(array('item' => $link));
}
$parent->render(array('items' => $childHtml));
Заранее спасибо
Привет, Я только что обновил свой фрагмент кода, как, когда цикл по каждому пункту, я хочу сделать некоторые обработки, такие как получить запись базы данных и т. д. – phpNutt
Добавлен лучший ответ – mblaettermann