3

SonataUser/FosUser バンドルで Sonata Admin を使用しています。

FosUser の「パスワードのリセット」機能を Sonata に統合したいと考えています。簡単な方法はありますか:

  • 「パスワードを忘れた」リンクを Sonata ログイン ページに統合しますか?
  • 機能を「admin/」URLプレフィックスとsonata 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 に答える