Шаблон переопределения FOSUerBundle не работает


Я пытаюсь переопределить шаблоны входа и регистрации для FOSUserBundle, но я не могу заставить его работать, я делаю то, что написано в документации, но ничего не происходит, все, что я вижу, это шаблоны по умолчанию: S

Это мой app\Resources\FOSUserBundle\views\Security\login.html.twig

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

{% block fos_user_content %}
{% if error %}
    <div>{{ error|trans({}, 'FOSUserBundle') }}</div>
{% endif %}
<p>Login!</p>
<form action="{{ path("fos_user_security_check") }}" method="post">
    <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />

    <label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>
    <input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />

    <label for="password">{{ 'security.login.password'|trans({}, 'FOSUserBundle') }}</label>
    <input type="password" id="password" name="_password" required="required" />

    <input type="checkbox" id="remember_me" name="_remember_me" value="on" />
    <label for="remember_me">{{ 'security.login.remember_me'|trans({}, 'FOSUserBundle') }}</label>

    <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
</form>
{% endblock fos_user_content %}

И это мой app\Resources\FOSUserBundle\views\layout.html.twig

{% extends '::base.html.twig' %}
{% block body %}
    <div class="container">
        {% for type, messages in app.session.flashbag.all() %}
            {% for key, message in messages %}
                <div class="flash-{{ type }}">
                    {{ message|trans({}, 'FOSUserBundle') }}
                </div>
            {% endfor %}
        {% endfor %}

        {% block fos_user_content %}{% endblock %}
    </div>
{% endblock %}
Author: Robert W. Hunter, 2013-12-30

2 answers

Убедитесь, что вы расширяете FOSUserBundle в своем файле userbundle:

<?php

 namespace Radsphere\UserBundle;

 use Symfony\Component\HttpKernel\Bundle\Bundle;

 class RadsphereUserBundle extends Bundle
 {
   public function getParent()
   {
     return 'FOSUserBundle';
   }
 }

Кроме того, убедитесь, что шаблон ветки, который вы расширяете, существует в той же структуре папок, что и в FOSUserBundle: Например, я расширил login.html.twig, и его местоположение находится по адресу

src/Radsphere/UserBundle/Resources/views/security/login.html.twig
 4
Author: shacharsol, 2013-12-30 21:02:47

Просто чтобы привлечь внимание к альтернативе для людей, которые могут оказаться здесь, согласно комментарию Сэма Дюфела, это было вызвано (для меня) неполной очисткой папки кэша (сама по себе проблема, вызванная бродячими папками общего доступа и разрешениями)

Ручное удаление папки приложения/кэша исправляет это.

 2
Author: Martin Lyne, 2015-11-05 17:09:01