私の Symfony2/twig webapp には、ラッピング<div id="#container">...</div>
なしののみを含む twig テンプレートがあります。<html></html>
これをページ レイアウトに埋め込む ajax 呼び出しに使用します。このレイアウトを と呼びましょうajax_template.html.twig
。
<h1>Headline</h1>
{% block my_content %}
<p>My content</p>
{% endblock %}
今、私は別のテンプレートを持っていajax_template.html.twig
ます. ただし、このページは ajax 経由ではなく、直接呼び出されます。base_layout.html.twig
したがって、すべての<html></html>
ラッピングが含まれるmy も拡張されます。次のようになります。
# won't work because no multiple inheritance supported
{% extends 'MyBundle::base_layout.html.twig' %}
{% extends 'MyBundle:MyController:ajax_template.html.twig' %}
{% block my_content %}
<p>My modified content</p>
{% endblock %}
include()
たとえば、またはuse()
私の小枝テンプレートで、すでにいくつかの方法を試しました。現在のパスが ajax 呼び出しであるかどうかも確認しました。
{% if '/ajax/' in path(app.request.attributes.get('_route')) %}
{% extends 'MyBundle::base_layout.html.twig' %}
{% endif %}
しかし、私のアプローチはどれもうまくいきません。あなたはなにか考えはありますか?