在Symfony2中引用两个包之间的Twig模板

时间:2013-03-20 18:03:17

标签: symfony twig

我唯一无法在下面的代码中使用的是我希望它使用位于调用它的包的文件夹中的navigation.html.twig文件。所以在这个例子中它是bundle 2.所以有可能不对其中的bundle路径进行硬编码吗?显然我没有对我的代码中的路径进行硬编码,但它不能像这样工作(其他一切都是这样,它只是对navigation.html.twig文件的引用)。

Bundle 1包含主要的父HTML / Twig,并调用位于以下任何一个bundle调用此文件的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>

Bundle 2调用bundle 1:

{# inside bundle 2 #}

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

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

1 个答案:

答案 0 :(得分:1)

据我所知,不可能跳过硬编码。但是,如果您将文件移至/app/Resources/views/navigation.html.twig,则可以通过以下方式引用该文件:

{% include '::navigation.html.twig' %}
顺便说一下,出于好奇,你为什么不能拥有一个可以容纳共享模板的“普通”软件包(以及其他文件)?