symfony - FOSUserBundle: How to best integrate login and register form in one template? -


i using fosuserbundle in symfony application great. have login , register forms in separate template. want both in 1 template display them next each other.

therefore created app/resources/fosuserbundle/security/login.html.twig , app/resources/fosuserbundle/registration/register.html.twig override both templates. in login.html.twig call register controller render template.

app/resources/fosuserbundle/security/login.html.twig:

{% extends "fosuserbundle::layout.html.twig" %}  {% trans_default_domain 'fosuserbundle' %}  {% block fos_user_content %}     {% 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 }}" />          <input type="text" id="username" name="_username" value="{{ last_username }}" placeholder="{{ 'security.login.username'|trans }}" required="required" />          <input type="password" id="password" name="_password" placeholder="{{ 'security.login.password'|trans }}" 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>      {{ render(controller('fosuserbundle:registration:register')) }} {% endblock fos_user_content %} 

app/resources/fosuserbundle/registration/register.html.twig:

{% include "fosuserbundle:registration:register_content.html.twig" %} 

but following error:

fatalerrorexception: error: maximum function nesting level of '100' reached, aborting! in /private/var/www/symfony/my_userbundle/vendor/twig/twig/lib/twig/node/expression/array.php line 31 

i don't know why error message. if security:login , registration:register controller, templates rendered in different ways:

$this->renderlogin(... 

and

$this->container->get('templating')->renderresponse('fosuserbundle:registration:register.html.... 

so have 2 questions:

  • what error message mean , how can solve it?
  • maybe approach not ideal, there better solution this?

you use (as @sidali hallak said)

{% render url('fos_user_registration_register') %} {% render url('fos_user_security_login') %} 

but use own versions of fosuserbundle:registration:register.html.twig , fosuserbundle:security:login.html.twig templates don't extend fosuserbundle::layout.html.twig


Comments