symfony2: о расширении шаблонов - PullRequest
0 голосов
/ 23 декабря 2011

Я только что создал AcmeHelloBundle , поэтому у меня есть этот шаблон, который был сгенерирован:

Hello {{ name }}!

Теперь я просто хочу изменить заголовок страницы, которая содержит «Здравствуйте, Джон!». Поэтому в качестве первой попытки я редактирую base.twig.html и меняю «Welcome» на «foobar», но заголовок не меняется ..

Итак, наконец, чтобы изменить заголовок, я делаю это:

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

 {% block body %}
     Hello {{ name }}!
 {% endblock %}

Несмотря на то, что он работает нормально с этим кодом (изменения в заголовке показаны правильно), в связи с моей первой попыткой мне интересно, как шаблон расширяет base.html.twig, но не показывает изменения, которые я сделать на это ..

* 1013 Javi *

1 Ответ

0 голосов
/ 24 декабря 2011

Следующий шаблон не расширяет другие шаблоны:

Hello {{ name }}!

Поэтому изменения в базовом шаблоне не были видны вам.

Вы должны явно расширить шаблон (с помощью расширяет оператор).Как и во втором фрагменте кода:

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

{% block body %}
    Hello {{ name }}!
{% endblock %}

Здесь нет магии.Twig сделает все, что вы скажете.

Поскольку вы явно и ничего закулисного не происходит, вы не ограничены одним базовым шаблоном.У вас есть гибкость в организации ваших шаблонов так, как вы хотите.

Подробнее об этом читайте в главе Templating в документации Symfony.Часть о трехуровневом наследовании объясняет хорошую практику в организации ваших шаблонов.

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