Как видно из названия, я пытаюсь настроить шаблоны FOSUserBundle с моими собственными. Но это совсем не работает. Я пробовал все, как указано в каждой записи, которую я нашел, исправил все, очистил кеш тысячи раз, все еще не работая.Переопределение шаблонов FOSUserBundle от наследования
Bundle класс с GetParent:
<?php
// src/PLL/UserBundle/PLLUserBundle.php
namespace PLL\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class PLLUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
?>
Шаблон, который должен переопределить ФОС один:
{# src/PLL/UserBundle/Resources/views/layout.html.twig #}
{% extends "PLLCoreBundle::layout.html.twig" %}
{% block body %}
{% for key, messages in app.session.flashbag.all() %}
{% for message in messages %}
<div class="alert alert-{{ key }}">
{{ message|trans({}, 'FOSUserBundle') }}
</div>
{% endfor %}
{% endfor %}
{% block fos_user_content %}
{% endblock fos_user_content %}
{% endblock %}
FOS»шаблон, тот, который на самом деле используется Symfony:
{# vendor/friendsofsymfony/user-bundle/Resources/views/layout.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>
{% if app.request.hasPreviousSession %}
{% for type, messages in app.session.flashbag.all() %}
{% for message in messages %}
<div class="flash-{{ type }}">
{{ message }}
</div>
{% endfor %}
{% endfor %}
{% endif %}
<div>
{% block fos_user_content %}
{% endblock fos_user_content %}
</div>
</body>
</html>
Переход к /web/app_dev.php/login по-прежнему показывает макет FOS, даже после удаления кеша ove r и снова. Либо с кешем php bin/console: очистить или удалить «вручную» папку var в корне моего проекта. Даже удалил кеш моего браузера.
Не говоря уже о том, что расширение «PLLCoreBundle :: layout.html.twig» отлично работает в любых других представлениях на моем веб-сайте. Поэтому я не думаю, что это происходит из-за ошибки в моем шаблоне ветки.
В случае, если они могут быть любой помощи,
Мой security.yml файл:
// app/config/security.yml
security:
[...]
firewalls:
main:
pattern: ^/
anonymous: true
provider: main
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
logout:
path: fos_user_security_logout
target: /platform
[...]
файл маршрутизации для приложения:
// app/config/routing.yml
[...]
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
prefix: /profile
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /resetting
fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
prefix: /profile
Итак ... Что я упускаю ?
http://stackoverflow.com/questions/41572723/symfony-3-fosuserbundle-overriding-template – Aerendir
Но являются ли шаблоны, которые не работают, или только один? Я не понимаю – Aerendir
Шаблоны по умолчанию для Aerendir FOSUserBundle. Мой шаблон для всего остального на веб-сайте работает. Единственное, что не работает, это мои настраиваемые шаблоны, не переопределяющие FOS 'one, поэтому, когда я хочу перейти на мою/регистрационную страницу или/зарегистрироваться, я всегда получаю шаблоны FOS и не могу заставить мои работать. – Kishlin