覆盖FOSUserBundle注册表

时间:2014-09-03 00:09:05

标签: php html forms symfony fosuserbundle

我知道这个问题一直在问,但我找不到任何简单的答案。我目前正在尝试FosUserBundle,这非常好,但我有一个非常基本和简单的前端问题:

  • 设法通过创建自定义app/Ressources/FOSUserBundle/views/Security/login.html并复制此内容来自定义登录表单的呈现:

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

{% block title %}Site title{% endblock %}
{% extends "::base.html.twig" %}
{% block title %}Site title{% endblock %}
{% block body %}
    {# {% block fos_user_content %}{% endblock %} #}

<div class="row">
<div class="col-md-4 col-md-offset-4 col-xs-8 col-xs-offset-2">

    {% if error %}
        <div>{{ error|trans }}</div>
    {% endif %}

    <form action="{{ path("fos_user_security_check") }}" method="post">
        <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />

    {#     <div class="form-group">
            <label for="username" name="_username">Email address</label>
            <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
        </div>
        <div class="form-group">
            <label for="exampleInputPassword1">Password</label>
            <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
        </div>
     #}
    <div class="form-group">
        <label for="username">{{ 'security.login.username'|trans }}</label>
        <input class="form-control" type="text" id="username" name="_username" value="{{ last_username }}" required="required" />
    </div>
    <div class="form-group">
        <label for="password">{{ 'security.login.password'|trans }}</label>
        <input class="form-control" type="password" id="password" name="_password" required="required" />
    </div>

    <div class="checkbox">
        <label >
            <input type="checkbox" id="remember_me" name="_remember_me" value="on"> {{ 'security.login.remember_me'|trans }}
        </label>
    </div>
    <div class="form-group">
        <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" />
    </div>
    </form>
</div>
</div>
{% endblock %}
  • 但是,我无法理解这是如何工作的,只是为了覆盖注册表单的样式,所以我可以在我的:: base.html.twig中使用它有一个漂亮的好看的形式。

我不想在表单中添加任何字段,juste 显示它的方式不同,我不明白为什么它不像登录表​​单那么简单。

任何人都可以提供帮助?文档根本没有回答这个问题(登录表单的技巧在文档中已经很难理解了)...

3 个答案:

答案 0 :(得分:0)

我不明白你的意思,你想覆盖base.html.twig的风格吗?你可以用CSS做到这一点,并在树枝内改变你想要的任何东西。

答案 1 :(得分:0)

我终于理解了最简单的方法是创建一个将FOSUserBundle作为父级的UserBundle,然后将UserBundle/Ressources/views/layout.html.twig替换为documentation说。我只是发现重编码在视图中创建自定义Bundle而不是自定义文件夹... :(

答案 2 :(得分:0)

您可以在app / FOSUserBundle / views中创建layout.html.twig这个将覆盖FOSUserBundle默认layout.html.twig这是一个更简单的解决方案,如果你想做什么,我最初没有理解你的问题我猜 ! :)

相关问题