HTML   发布时间:2022-04-15  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了模板 – FOSUserBundle:如何最好地将登录和注册表单集成在一个模板中?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用FOSUserBundle在我的Symfony应用程序是非常好的.他们在单独的模板中登录和注册表单.我想要在一个模板中同时显示它们.

因此,我创建了应用程序/ resources / FOSUserBundle / Security / login.html.twig和app / resources / FOSUserBundle / Registration / register.html.twig来覆盖这两个模板.在login.html.twig中,我调用寄存器控制器来渲染其模板.

应用程序/资源/ FOSUserBundle /安全/ 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 %}

应用程序/资源/ FOSUserBundle /报名/ register.html.twig:

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

但是,我收到以下错误:

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

我不知道为什么我收到这个错误消息.如果我查看安全性:登录和注册:注册控制器,模板将以不同的方式呈现:

$this->renderLogin(...

$this->container->get('templaTing')->renderResponse('FOSUserBundle:registration:register.html....

所以基本上我有两个问题:

>错误信息是什么意思,我该如何解决?
>也许这种方法不是很理想,有没有更好的解决方案呢?

解决方法

你可以使用(如@Sidali Hallak所说)
{% render url('fos_user_registration_register') %}
{% render url('fos_user_security_login') %}

但使用您自己的版本的FOSUserBundle:注册:register.html.twig和FOSUserBundle:安全性:login.html.twig模板不扩展FOSUserBundle :: layout.html.twig

大佬总结

以上是大佬教程为你收集整理的模板 – FOSUserBundle:如何最好地将登录和注册表单集成在一个模板中?全部内容,希望文章能够帮你解决模板 – FOSUserBundle:如何最好地将登录和注册表单集成在一个模板中?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。