Переопределить макет FOSUserBUndle - PullRequest
0 голосов
/ 01 апреля 2019

Я установил и настроил FOSUserBundle на моем проекте (я использую Symfony 4). Установка производится без проблем. Я переопределяю шаблоны FOSUserBundle, но то же самое, что layout.html.twig и base.html.twig не переопределяются.

Мой layout.html.twig:

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

{% block body %}
    <div class="container">
        <div class="row">
            <div class="col-xs-12">
                {% block fos_user_content %}{% endblock %}
            </div>
        </div>
    </div>
{% endblock %}

Мой base.html.twig:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>

Используется только FOSUserBundle. Во-вторых, исчезла панель инструментов отладки Symfony.

FOSUserBundle переопределен там: шаблоны / расслоение / FOSUserBundle

В папку я добавил все подпапки FOSUserBundle: Безопасность Постановка на учет Профиль ....

Структура шаблона

1 Ответ

1 голос
/ 01 апреля 2019

Вот как я это сделал:

enter image description here

base.html.twig

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <title>
        {% block title %}Admin panel{% endblock %}
    </title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="robots" content="noindex,nofollow"/>
    <link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}"/>
</head>
<body>

<div class="container">
    {% block content %}{% endblock %}
</div>

<script src="{{ asset('js/jquery-3.3.1.min.js') }}"></script>
<script src="{{ asset('js/bootstrap.min.js') }}"></script>
</body>
</html>

layout.html.twig

{% extends 'bundles/FOSUserBundle/base.html.twig' %}

{% block content %}
    {% 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>
{% endblock %}

Безопасность / login.html.twig

{% extends "bundles/FOSUserBundle/layout.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}

{% block title %}Sing in{% endblock %}

{% block fos_user_content %}
    <div class="jumbotron">
        <h4 class="text-center">Sign in</h4>
        {% if error %}
            <div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
        {% endif %}

        <form method="post" action="{{ path("fos_user_security_check") }}">
            <input type="hidden" name="_csrf_token" value="{{ csrf_token }}"/>
            <div class="form-group">
                <label for="username">Email:</label>
                <input type="email" name="_username" class="form-control" id="username" value="{{ last_username }}"
                       autocomplete="off">
            </div>
            <div class="form-group">
                <label for="password">Password:</label>
                <input type="password" id="password" name="_password" class="form-control">
            </div>
            <div class="form-group form-check">
                <label class="form-check-label">
                    <input class="form-check-input" type="checkbox" id="remember_me" name="_remember_me" value="on">Remember
                    me
                </label>
            </div>
            <button name="_submit" type="submit" class="btn btn-primary">{{ 'security.login.submit'|trans }}</button>
        </form>
    </div>
{% endblock fos_user_content %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...