2

以下のコードで作業できない唯一のことは、それを呼び出すバンドルのフォルダーにある navigation.html.twig ファイルを使用することです。したがって、この例ではバンドル 2 です。バンドル パスをハードコーディングしないことは可能ですか? 明らかに、コードにパスをハードコーディングしていませんが、このようには機能しません (他のすべてのパスは、navigation.html.twig ファイルへの参照にすぎません)。

バンドル 1 はメインの親 HTML/Twig を保持し、このファイルを呼び出すバンドルにある navigation.html.twig ファイルを呼び出します。

<! inside bundle 1 -->
<!DOCTYPE html>
<head>
<head>
<html>
<body>
<div id="navigation">
{% include 'navigation.html.twig' %}
</div>
<div id="content">
{% block the_content %}
{% endblock %}
</div>
</body>
</html>

バンドル 2 コール バンドル 1:

{# inside bundle 2 #}

{% extends "Bundle1:index.html.twig" %}

{% block content %}
This is the content for this page
{% endblock %}
4

1 に答える 1

1

私の知る限り、ハードコーディングをスキップすることはできません。ただし、ファイルをに移動すると、次の方法/app/Resources/views/navigation.html.twigで参照できます。

{% include '::navigation.html.twig' %}

ところで、好奇心から、(他のファイルの中で) 共有テンプレートを保持する「共通」バンドルを 1 つ持つことができないのはなぜですか?

于 2013-03-20T19:03:43.087 に答える