2011-11-02 64 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但我搞砸了隱藏字段打印「