2

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

Bundle 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' %}

顺便说一句,出于好奇,您为什么不能拥有一个包含共享模板(以及其他文件)的“通用”捆绑包?

于 2013-03-20T19:03:43.087 回答