繁体   English   中英

来自外部模板的symfony2树枝表单注册

[英]symfony2 twig form registration included from external template

耐心是我的第一个问题,我的英语也很差; P

顺便说一句...我在我的网站上使用fos,并且一切正常,实际上我的问题是我有用树枝制作的“页面”模板,并且在底部有一个号召性用语按钮,可将隐藏的div向下滑动想放我的注册表。 我设置了隐藏的div并尝试将include放入其中:

{% block fos_user_content %}
    {% include "FOSUserBundle:Registration:register_content.html.twig" %}   
{% endblock fos_user_content %}

显然,它不起作用:

第2行的kernel.root_dir / Resources / JuliusUserBundle / views / Registration / register_content.html.twig中不存在变量“ form”

可能由于某些原因与路由,防火墙或安全性有关? 有人对此有解决方案,建议或想法吗?

感谢和欢呼!

正如错误所言,您需要在操作中定义“ form”变量,或者可以尝试呈现FOSUser注册操作来代替此操作。

例如:

{% render(controller(FOSUserBundle:Registration:register")) %}

如果需要使用include,则必须将form变量传递给包含的模板。 (可选)您也可以从其相应的控制器渲染该模板。 因此,对于第一种情况,您有:

 {% include("FOSUserBundle:Registration:register_content.html.twig") with {'form':form} %} 

这里的form是从您自己的控制器传递的变量。 您的第二个选择是渲染FOSUB模板,如下所示:

{% render(controller("FOSUserBundle:Registration:register")) %}

显然,我发现了使用Edge Side Includes(ESI)包含项的好解决方案,它还为我提供了缓存控制的其他好处:

<esi:include src="http://localhost:8004/login" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM