3

我正在将 Sonata Admin 与 SonataUser/FosUser 捆绑包一起使用。

我想将 FosUser 的“重置密码”功能集成到 Sonata 中。有没有快速的方法:

  • 将“忘记密码”链接集成到奏鸣曲登录页面?
  • 将功能与“admin/” url 前缀和奏鸣曲 html/twig 布局集成?
4

1 回答 1

1

我已经修改了管理员登录模板以添加重置密码链接,您必须扩展 SonataUserBundle 才能使用您的自定义模板,请遵循文档

自定义模板必须与 SonataUserBundle 中的名称和目录相同。这是我使用的模板:

Application\Sonata\UserBundle\Resources\views\Admin\Security\login.html.twig

{% extends base_template %}

{% block content %}
    <div class="connection">
        <form action="{{ path("sonata_user_admin_security_check") }}" method="post">

            {% if error %}
                <div class="alert alert-error">{{ error|trans({}, 'SonataUserBundle') }}</div>
            {% endif %}

            <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />

            <div class="control-group">
                <label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>

                <div class="controls">
                    <input type="text" id="username" name="_username" value="{{ last_username }}" class="big sonata-medium"/>
                </div>
            </div>

            <div class="control-group">
                <label for="password">{{ 'security.login.password'|trans({}, 'FOSUserBundle') }}</label>

                <div class="controls">
                    <input type="password" id="password" name="_password" class="big sonata-medium" />
                </div>
            </div>

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

            <div class="control-group">
                <a href="{{ path('fos_user_resetting_request') }}">
                    {{ 'forgotten_password'|trans({}, 'SonataUserBundle') }}
                </a>
            </div>

            <div class="form-actions">
                <input type="submit" class="btn btn-primary" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
            </div>
        </form>
    </div>
{% endblock content %}
于 2015-09-28T12:19:08.803 回答