如何在另一个目录的twig中包含一个模板?

时间:2014-10-22 18:24:49

标签: symfony silex

我正在使用silex开发一些应用程序,我的所有模板都在/views文件夹中。

views
  layout.twig
  header.html
  content.html
  footer.html

但是,我想在视图中创建另一个文件夹,例如home/ about/ ...并从这些文件夹中调用layout.twig文件夹。例如,在views/home/文件夹中,我会about.twig并执行此操作。

{% extends 'layout.twig'%}
{% block content %}
     {% include 'header.html' %}
{% endblock %}

但是,我很失落如何做到这一点。该文件没有提到任何这一点。

2 个答案:

答案 0 :(得分:1)

你有捆绑包吗?如果是这样的话:

{% extends "AcmeDemoBundle::layout.html.twig" %}

这将从您在 Acme / DemoBundle / Resources / views 文件夹中指定的任何捆绑包中获取 layout.html.twig

答案 1 :(得分:0)

如果您的所有模板都在视图目录中,则可以包含以下内容:

{% extends 'layout.twig'%}
{% block content %}
     {% include 'headers/header.html' %}
{% endblock %}

在这种情况下,header.html位于views / headers / header.html。

例如,视图目录中的twig加载模板。

$loader = new \Twig_Loader_Filesystem(APP_DIR . '/views');
相关问题