Шаблон Twig извлечь подмножество

Можно ли извлечь кусок шаблона ветки?
Мне нужно управлять обновлением таблицы ajax, у меня есть шаблон ветки, например:

<html>
<body>
<table>
<thead>
<tr><th></th></tr>
</thead>
<tbody id="mypiece">
<tr><th></th></tr>
<tr><th></th></tr>
</tbody>
</table>
</body>
</html>

При первой загрузке мне нужен весь шаблон, через ajax мне нужен только контент #mypiece, можно ли извлечь его из ветки, используя идентификатор DOM или с помощью других маркеров?

Единственное решение, которое я нашел, — это разделить его на два разных шаблона и использовать включение.

whole.html

    <html>
<body>
<table>
<thead>
<tr><th></th></tr>
</thead>
<tbody id="mypiece">
{% include 'content.html' %}
</tbody>
</table>
</body>
</html>

content.html

  <tr><th></th></tr>
<tr><th></th></tr>

Но я думаю, что это действительно плохое решение …

1

Решение

Ну, я лично предпочитаю разделить их, но если вы собираетесь что-то получить с AJAX а также — попробуйте использовать встроенные контроллеры (в данном случае специально для XHR запрос), например:

<tbody id="mypiece">
{{ render(controller(
'SomeBundle:SomeController:someAction',
{ 'someParameter': "something" }
)) }}
</tbody>

Это намного лучше, чем анализировать какой-то отрендеренный шаблон, чтобы получить его часть, потому что для меня это похоже на процесс проектирования.

Еще лучшее решение — вернуть указанное json данные о вызове ajax и их рендеринг в одном из шаблонизаторов javascript на стороне клиента.

Надеюсь, это поможет, ура.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]