2019-04-21

Twigではテンプレートの出力結果もsetできる

単に自分の思い過ごしだったんですが、

set - Documentation - Twig - The flexible, fast, and secure PHP template engine
https://twig.symfony.com/doc/2...

をみていて、書かれてる例で

{% set foo %}
    <div id="pagination">
        ...
    </div>
{% endset %}

となっていて、処理結果とかはsetできないものと勝手に思ってた。

JSONを出力するテンプレートで、インクルード先でjson_encodeしてたんだけど、それだとちょっと具合が悪く、、、ということで

{% set text %}
{% for block in entry.articlebody.all() %}{% include '_matrix_component/' ~ block.type ignore missing %}{% endfor %}
{% endset %}
{{text|json_encode()}}

のように書いてみたけど問題なく動いた。

もっと早く試すべきでした。。。