#php #symfony #twig
#php #symfony #twig
Вопрос:
У меня есть шаблон с переменной ‘category’.
В какой-то момент я отправляю эту переменную во встроенный шаблон следующим образом :
{% embed "AtgpTrackerBundle:Ticket:/_list.html.twig" with {"table": table, "category": category} %}
Этот шаблон _list расширяется из шаблона defaultTable :
{% extends "AtgpTrackerBundle::Table/_defaultTable.html.twig" %}
в котором есть некоторые блоки :
<thead>
{% block tableHead %}
<tr>
//some code
</tr>
{% endblock tableHead %}
</thead>
<tbody id="{{ table.bodyId }}">
{% block tableBody %}
//some code
{% endblock tableBody %}
</tbody>
Итак, в шаблоне _list я перезаписываю некоторые блоки, используя переменную ‘category’.
Все работает нормально, когда я использую категорию в блоке tableHead. Когда я использую его в tableBody, у меня возникает исключение «категория переменной не существует».
Что меня беспокоит, так это то, что когда я пытаюсь сбросить категорию в блоке tableBody, она действительно отображается! Но у меня все еще есть ошибка, указывающая мне строку, где я написал дамп.
ОТРЕДАКТИРУЙТЕ, чтобы прояснить мой вопрос: например, если я попытаюсь перезаписать приведенные выше блоки следующим образом :
{% block tableHead %}
{{dump(category)}}
{{category}}
{% endblock %}
{% block tableBody %}
{{dump(category)}}
{{category}}
{% endblock %}
Оба дампа работают нормально, но второй отправляет исключение «категория переменной не существует», а строка после не обрабатывается. Кажется, я просто не могу использовать категорию в блоке tableBody.
Я не могу понять, как объяснить это поведение, которое кажется мне действительно странным…
Комментарии:
1. Что это за содержимое
_columnCell.html.twig
?2. Трудно определить проблему, поскольку я не вижу, чтобы вы
category
где-нибудь использовали?3. @DarkBee, на самом деле я не использую категорию в этом коде, но я перезаписываю эти блоки в другом шаблоне. Я обновил свой вопрос и надеюсь, что теперь он понятнее.
4. Вы уверены, что не используете где-то там макрос? Потому что то, что вы пытаетесь сделать, должно работать просто отлично
5. Да, я подтверждаю, что я не использую макросы. Что еще может помешать такому коду?