[英]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.