Symfony 服务器在扩展 FOSUserBundle 的默认模板layout.html.twig 时崩溃

2024-04-28

我正在尝试从 FOSUserBundle 运行基本用户登录。 我正在使用 Symfony 3.0.6。

我按照说明设置了 FOSUserBundle 中的所有内容:https://symfony.com/doc/master/bundles/FOSUserBundle/index.html https://symfony.com/doc/master/bundles/FOSUserBundle/index.html

数据库已启动并运行,一切似乎都很好,除了我无法弄清楚如何从 FOSUserBundle 覆盖layout.html.twig。 我遵循这个描述来实现这一目标:https://symfony.com/doc/master/bundles/FOSUserBundle/overriding_templates.html https://symfony.com/doc/master/bundles/FOSUserBundle/overriding_templates.html

我现在在“Resources/FOSUserBundle/views”文件夹中有一个文件“layout.html.twig”,其内容与上面提供的最后一个链接中的内容相同。 这会导致以下错误:

无法找到模板“layout.html.twig”(查看: [somePathInfo]) 在 FOSUserBundle::layout.html.twig 第 1 行。

现在我将“layout.html.twig”模板中的第一行更改为

{% extends 'FOSUserBundle::layout.html.twig' %}

然后这会导致 symfony 服务器崩溃并指出

>php bin/console server:run -v                                                                                                                       
 [OK] Server running on http://127.0.0.1:8000                                                                           
 // Quit the server with CONTROL-C.
  RUN  "C:\xampp\php\php.exe" "-S" "127.0.0.1:8000" "[PATH]\myProject\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Resources\config\router_dev.php"
  RES  -1073741571 Command did not run successfully
 [ERROR] Built-in server terminated unexpectedly.

我被困在这里了... 任何想法都非常受欢迎。

编辑:由作曲家安装的 FOSUserBundle (我通过当前的 PHP-Storm 插件使用)安装在以下路径:

[projectPath]\vendor\friendsofsymfony\user-bundle\Resources\views\layout.html.twig

然而,在文档中总是只提到“FOSUserBundle”,我不知道如何确定该映射是否适合我的项目中的路径。 对于这个问题的任何提示也非常受欢迎。


当您覆盖标准的 FOR User 布局时,您需要将布局放入app/Resources/FOSUserBundle/views/layout.html.twig。太棒了,你做到了。它只是一个布局,它不应该扩展标准 FOCUser 布局,所以删除行{% extends 'FOSUserBundle::layout.html.twig' %}。但通常开发人员会制作一种基本布局,就我而言是\app\Resources\views\base.html.twig,所以如果我想覆盖 fosuser 布局,我将在app/Resources/FOSUserBundle/views/layout.html.twig像这样的东西

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

{% block title %}User Management{% endblock %}

{% block content %}
    {% block fos_user_content %}{% endblock %}
{% endblock %}

在第一行中,您扩展基本布局而不是 FOSUser。您可能不会扩展某些内容,也许您对此模板有单独的完整布局。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony 服务器在扩展 FOSUserBundle 的默认模板layout.html.twig 时崩溃 的相关文章

随机推荐