symfony - 如何在其他模板的同一目录中扩展 Twig 模板?

标签 symfony twig

我在同一个目录文件夹中有 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”。我还注意到有些人在模板名称之前使用了:: ..为什么会这样我该如何解决这个问题?

最佳答案

您必须在 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

关于symfony - 如何在其他模板的同一目录中扩展 Twig 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913042/

相关文章:

forms - 如何逐一渲染选择字段

symfony - 优化行为测试套件

symfony - Twig 中的条件继承

symfony - Shopware 6 授权客户

php - Symfony2 - 尝试在产品环境中查看我的站点会导致空白屏幕;开发中没有错误/警告

php - 使用 twig 和 Slim 框架上传文件(版本 2)- PHP

templates - Drupal 8 获取内容并在没有页眉/页脚的情况下提供服务

php - Symfony - 如何省略 Twig 模板循环中的第一项?

javascript - 将 Php 数组作为 Javascript 数组值传递

php - 运行 Symfony 命令时无法加载 PHP 类