regepanのはてなブログ

個人的なメモ帳レベルの文章。

Twigの"embed"の使い方。

ドキュメントを見てもよくわからなかったので、試してみたら簡単だった。

実例

views/default/teasers_skeleton.twig

<span style="color: red;">
{% block left_teaser %}
{% endblock %}
</span>

<span style="color: blue;">
{% block right_teaser %}
{% endblock %}
</span>

<div>
    {% block bottom_teaser %}
        bottom
    {% endblock %}
</div>

views/default/teaser.html.twig

<div>
    bbbbb
</div>

{% embed "default/teasers_skeleton.twig" %}
    {% block left_teaser %}
        Overwrite left
    {% endblock %}

    {% block right_teaser %}
        Overwrite right
    {% endblock %}
{% endembed %}

表示結果はこうなる。

f:id:reggaepunch:20160202061100p:plain

ドキュメントの説明の通りにcombineした挙動でした。

The embed tag combines the behaviour of include and extends.

基本からしっかり学ぶ Symfony2入門

基本からしっかり学ぶ Symfony2入門

Webエンジニアの教科書

Webエンジニアの教科書

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門

効率的なWebアプリケーションの作り方 ~PHPによるモダン開発入門