2016-06-26 54 views
0

別のインクルードで渡された変数の一部としてインクルードを渡したいと思います。絵を描こう:Twigはインクルードのインクルードを渡します

{% include '@AppBundle/P1/template.html.twig' with { 
      'body': '<div class="col-xs-12"> 
        <h1>Dummy Title</h1> 
        include '@AppBundle/P1/Form/dummyForm.html.twig' with {'form': test_form } 
        '</div>' 
      }%} 

これはすべて可能ですか?私は文字列や連結をエスケープすることを実験しましたが、私はいつも値 "、" 404で "句読点"を期待しています。誰かがこのような問題に遭遇した場合、本当に不思議です。皆さん、ありがとうございました!

+3

含まれているテンプレートにインクルードを入れないのはなぜですか? – DarkBee

答えて

0

Hummm、最初にあなたの質問に答えるために、あなたの代わりにタグの機能を使用することができます。

main.twig

{{ 
    include('@AppBundle/P1/template.html.twig', { 
     'body': include('@AppBundle/P1/dummyBody.html.twig') 
    }) 
}} 

dummyBody.html.twig

<div class="col-xs-12"> 
    <h1>Dummy Title</h1> 
    {{ include('@AppBundle/P1/Form/dummyForm.html.twig', {'form': test_form }) }} 
</div> 

Demo on twigfiddle


しかし、あなたはblocksのことを知っている必要があります!

base.twig

<div class="col-xs-12"> 
    <h1>Dummy Title</h1> 
    {% block form %}{% endblock %} 
</div> 

{% extends 'base.twig' %} 

{% block form %} 
    some form 
{% endblock %} 

form.twig form.twig のレンダリングは、同じことを表示するが、クリーンで簡単に再利用可能になります。

Demo on twigfiddle

関連する問題