gpt4 book ai didi

symfony - Sonata 管理包 + Sonata 用户包 : Override Login Form

转载 作者:行者123 更新时间:2023-12-05 08:33:55 26 4
gpt4 key购买 nike

我知道这个主题已经开放,但几个月后他们根本没有答案,当我尝试回答以了解这位作者是否有任何解决方案时......我的评论被删除了。所以我要再次发布这个问题。

我正在使用 SonataAdminBunbdle 和 SonataUserBundle 进行管理。除少数特定问题外,一切都运行良好。

现在,我的问题。我想覆盖默认登录表单。但是,即使我尝试了一切,也没有任何效果。

1) 我试图覆盖 FOSUserBundle 登录表单,如 official documentation 中所述.

我把这个文件放到了正确的路径

{% extends "FOSUserBundle::layout.html.twig" %}

{% block fos_user_content %}
AZERTY
{% endblock fos_user_content %}

完全删除了原始登录表单,但没有任何变化,我仍然有相同的默认登录表单。

2) 对SonataAdminBundle 使用相同的方法但他们没有登录表单模板。

3) 然后再一次 SonataUserBundle但我没有找到任何内容来覆盖登录表单模板。

我没有解决方案,这就是为什么我要向他们寻求帮助。我找到了如何通过直接修改供应商的文件来更改登录表单:

// vendor/sonata-project/user-bundle/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="form-actions">
<input type="submit" class="btn btn-primary" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
</div>
</form>
</div>
{% endblock content %}

所以,最后我想覆盖这个特定的文件,或者找到一种方法来更改配置文件中的模板路径。

有人已经覆盖了这个登录表单模板吗?

最佳答案

如果您将自定义 login.html.twig 放入:

app/Resources/SonataUserBundle/views/Admin/Security

它会起作用。

您可以阅读 more关于在 Symfony 中覆盖模板。

关于symfony - Sonata 管理包 + Sonata 用户包 : Override Login Form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34793762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com