3

SilexでTwigを使用していますが、ifステートメント内でextendに問題があります。基本的にページは拡張されていますが、リクエストはAJAXによって実行されません。

{% if app.request.isXmlHttpRequest == false %}
 {% extends 'layout.html.twig' %}
{% endif %}

ただし、これは機能します。ボタンは、リクエストがAJAXベースの場合にのみ表示されます。

{% if app.request.isXmlHttpRequest %}
 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
{% endif %}

また、私のコードは{%block content%}タグで囲まれていることにも言及する価値があります。

誰かがこの問題の経験がありますか?(isXmlHttpRequestがfalseの場合にのみ拡張できます)

前もって感謝します

4

1 に答える 1

7

これを試してください:

{% extends app.request.isxmlhttprequest ? "" : "layout.html.twig" %}

Courtainsの背後にextendsは、条件を設定できないように解析されたトークンがあり、結果は取得したものになります。テンプレートは常に拡張されます。

空の文字列でどのように機能するかわかりません。コンテンツを含まず、オーバーライドするブロックを含む「layout-ajax.html.twig」ファイルを作成する必要がある場合があります。

于 2012-10-22T08:02:31.553 に答える