2019-04-18
変数がセットされてある時だけtrueになるようにif文を書く
先日書いたこちらのエントリ。
Redactor のフィールドを Matrix の Redactor に変更するためにインポートやらテンプレートの調整をした #craftcms | mersy note
https://note.mersy418.com/arti...
このなかにある「Matrix の取り出し方を汎用的にする」をそのまま使う形で、JSON出力するようにもしてみた。
ただ、その時にはjson_encodeしないといけなかったので、その辺を調整してみた。
json_encode - Documentation - Twig - The flexible, fast, and secure PHP template engine
https://twig.symfony.com/doc/2...
結局のところインクルードしているブロックの方のテンプレートをこんな感じで変数で分岐。
{# フィールドの値を変数にセット #} {% set block_richeditor = block.richeditor %} {% if encodeJson is defined %} {{ block_richeditor|json_encode() }} {% else %} {{ block_richeditor }} {% endif %}
そのうえで必要な時だけencodeされればよいので
{% set encodeJson = true %}
こんな感じのを必要なテンプレートでセットする。
defined - Documentation - Twig - The flexible, fast, and secure PHP template engine
https://twig.symfony.com/doc/2...
「変数が設定されていれば」の分岐のところどう書くのかわからなかったのだけど、is defined なのね。勉強になりました。