2011-11-02 74 views
0

我有一个sfForm表单myForm,并嵌入了另一个对象表单。Symfony:使用sfForm呈现_csrf_token字段

我打印在这样的模板:

<?php echo $myForm; ?> 

据我所知,它应该默认打印隐藏字段,但只打印id隐藏字段,而不是_csrf_token,这是为什么?

如果我试图用echo $myForm['_csrf_token'];打印它,它打印字段就好了。

如果我使用echo $myForm->renderHiddenFields();它打印_csrf_token领域,也为第二次id隐藏字段..

myForm我试图enableLocalCSRFProtection()它仍然无法正常工作。

任何想法如何使myForm渲染_csrf_token默认情况下?

+2

你有一个csrf_secret值settings.yml中设置? http://www.symfony-project.org/reference/1_4/en/04-Settings#chapter_04_sub_csrf_secret – Tom

+0

是的。当我使用我的教义形式时,它工作正常..只有sfForm给了我很难的时间 – tamir

+0

,除非有人在SfFormSymfony类中入侵,那么我认为这是来自嵌入表单的事实。也许尝试一个没有嵌入的表单,看看是否确实是原因。对不起,我不能更有帮助。 – Tom

回答

0

(占位符答案,按照上述评论)

“这真的是是造成问题的嵌入形式!我有忽略嵌入形式的标签(因为它打印时的丑陋)的自定义SchemaFormatter但我搞砸了隐藏字段打印“