私の小枝テンプレートは、いくつかの「ボックス」に収まるようにコンテンツを構築して、収容ボックスの数を変えることができるという奇妙な状況があります。私は子テンプレートでn個のブロックを定義する一般的な方法を探しており、親は正しい番号をレンダリングします。ここに私の子テンプレートが今どのように見えるかの例です:複数の小枝テンプレートブロックの配列処理
{% extends "layout.participant.html.twig" %}
{% block box_left_title %}Personal Information{% endblock %}
{% block box_left_content %}
content here
{% endblock %}
は1つ、2つ、または潜在的に5これらのペアタイトル/コンテンツセクションのがあるかもしれないことを考えてみましょう。私が想像しているのは、box_left_title
を最初の配列スロットとして定義し、次に親テンプレート(layout.participant.html.twig
)を定義して各ブロックを繰り返し、必要に応じて多くの「ボックス」を構築する方法です。
私が今検討している回避策は、親テンプレートにbox_left_content_1
、box_left_content_2
などのブロックを定義して、子で使用されているものだけを定義することです。それは動作しますがが間違って感じる。
ここでテンプレートの継承を誤って使用していますか?代わりに条件付きインクルードを調べる必要がありますか?これに関するポインターは大歓迎です。
更新:私の質問では、親テンプレートで動的ブロックを持つことができると思われましたが、これはnot be possibleです。私はblock1
、block2
などを親に定義して(合理的な上限を許して)、子供の中身にブロックを提供する必要があると考えています。これは、包含が好ましいアプローチではないと仮定している。
これは動作しますが、私の懸念は、アレイの 'content'部分は、それが小枝の変数と関数を使用しての多くのhtmlの負荷、になるだろうということです。 –
私が正しくあなたを理解している場合、あなたのアプローチはbox.content twigコードを記入することですか?それは私のあなたのアーキテクチャのエラーを指摘します。テンプレートを使用したい場合は、テンプレートコードをいくつかのデータに入れたくありません。私の例は単純化されています。 –