Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Custom FOSUserBundle Login Template using Bootstrap

I've installed Symfony2, FOS User Bundle and Twitter Bootstrap.

Then I setup the /app/Resources/FOSUserBundle/views/layout.html.twig template to override FOSUserBundle to use my site template.

It all works if I have a link to /login on the homepage.

Now I want to implement a template like the hero template where the login form is part of the main template.

The closest I've got is to use this in the main template:

{% render controller("FOSUserBundle:Security:login") %}

I can override the layout html to not extend main template, but this removes all styling from /login

Any ideas how I can handle both scenarios?

like image 977
Daniel P Avatar asked Dec 12 '22 14:12

Daniel P


1 Answers

You were almost there :)

you can include the login form in any other template using the render function.

{% render controller("FOSUserBundle:Security:login") %}

... you just have to create app/Resources/FOSUserBundle/views/Security/login.html.twig and ommit the wrapping {% block fos_user_content %} found in FOSUserBundle's login.html.twig in order to have it return the form directly:

{% 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 }}" />

    <label for="username">{{ 'security.login.username'|trans }}</label>
    <input type="text" id="username" name="_username" value="{{ last_username }}" required="required" />

    <label for="password">{{ 'security.login.password'|trans }}</label>
    <input type="password" id="password" name="_password" required="required" />

    <input type="checkbox" id="remember_me" name="_remember_me" value="on" />
    <label for="remember_me">{{ 'security.login.remember_me'|trans }}</label>

    <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans }}" />
</form>

Then adjust it to fit your template.

like image 149
Nicolai Fröhlich Avatar answered Dec 17 '22 23:12

Nicolai Fröhlich