我尝试覆盖FOS捆绑包。
要做到这一点,我有:
我在安装FOS时创建的UserBundle。它有我的User.php文件。
UserBundle.php:
<?php
namespace gestEntrSym\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class UserBundle extends Bundle
{
public function getParent() {
return 'FOSUserBundle';
}
}
视图/默认/ layout.html.twig
{% extends '::base.html.twig' %}
{% block title %}Acme Demo Application{% endblock %}
{% block content %}
{{ block('fos_user_content') }}
{% endblock %}
然后我有app / Ressources / Views / base.html.twig
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<div>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} |
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% else %}
<a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a>
{% endif %}
</div>
{% for type, messages in app.session.flashBag.all %}
{% for message in messages %}
<div class="{{ type }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
<div>aaa
{{ block('fos_user_content') }}
</div>
</body>
</html>
我现在在页面中只有一个链接“Connexion”,它只链接到页面登录。我希望在布局页面中包含所有输入。
我该怎么做?
由于 最好的问候
答案 0 :(得分:0)
如果要覆盖登录模板,请创建文件夹
应用程序/资源/ FosUserBundle
然后尊重供应商文件夹的结构,你不会这样做,所以你的覆盖登录将在这里:
应用程序/资源/ FosUserBundle /查看/安全/ login.html.twig
然后,如果您想将该模板包含在base中,
{% include('FOSUserBundle:Security:login.html.twig') %}