Как я могу использовать переменную на моей расширенной странице ветки (Symfony)? - PullRequest
0 голосов
/ 03 декабря 2018

Я возвращаю данные с моим Controller.php в свой шаблон веточки:

  return $this->render('list.html.twig', ['page' => $page]);

В моем list.html.twig я могу вывести свою переменную:

{{page.name}}

Но я расширяюмоя ветка base.html на моем list.html.twig:

{% extends 'base.html.twig' %}

Поэтому, когда я хочу вывести свою переменную на свой base.html.twig:

{{page.name}}

Затем я получаюсообщение об ошибке:

Uncaught PHP Exception Twig_Error_Runtime: страница «Переменная» «не существует».в /Users/work/project/templates/base.html.twig строка 70

1 Ответ

0 голосов
/ 03 декабря 2018

На вашем base.html.twig добавьте блок, например

{% block page %}{% endblock page %}

и на list.html.twig добавьте {% block page %}{{page.name}}{% endblock page %}

, чтобы вы могли получить файл типа base.html.twig

<html>
    <body>
        <h1>{% block page %}{% endblock page %}
        <p>{% block content%}{% endblock content %}</p>
    </body>
</html>

и list.html.twig как

{% extends 'base.html.twig' %}

{% block page %}{{ page.name }}{% endblock page %}
{% block content %}errything else for page here{% endblock content %}

, и он будет действительным и перезапишет блок страницы для base.html.twig посредством наследования.

Добавлен пример прута https://twigfiddle.com/d1hmo9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...