SonataUser/FosUser バンドルで Sonata Admin を使用しています。
FosUser の「パスワードのリセット」機能を Sonata に統合したいと考えています。簡単な方法はありますか:
- 「パスワードを忘れた」リンクを Sonata ログイン ページに統合しますか?
- 機能を「admin/」URLプレフィックスとsonata html/twigレイアウトと統合しますか?
SonataUser/FosUser バンドルで Sonata Admin を使用しています。
FosUser の「パスワードのリセット」機能を Sonata に統合したいと考えています。簡単な方法はありますか:
管理者ログイン テンプレートを変更して、パスワードのリセット リンクを追加しました。カスタム テンプレートを使用するには、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 %}