4

我在同一个目录文件夹中有 index.html.twig 和 base.html.twig ..我有以下 scipts

index.html.twig

{% extends('base.html.twig') %}

{% block body %}
    helo body
    {{ parent() }}
{% endblock %}
{% block footer %}
    This footer
{% endblock %}

base.html.twig

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}The body block{% endblock %}
        {% block sidebar %}The body sidebar{% endblock %}

    </body>
</html>

它返回给我一个错误“无法在“FacebookBundle:Default:index.html.twig”中找到模板“base.html.twig”。我还注意到有些人在模板名称之前使用了 :: .. 为什么会这样我该如何解决这个问题?

4

1 回答 1

14

你必须FacebookBundle:Default:base.html.twig在你的index.html.twig.

当您::将模板直接放在view/目录中而不是子目录中时使用(即:本示例中的布局:Bundle::layout.html.twig而不是Bundle:Controller:index.html.twig

Bundle
    Resources
        views
            Controller
                index.html.twig
            Default
                base.html.twig
                index.html.twig
            layout.html.twig
于 2012-08-11T21:08:25.700 回答