0
我在FOSUserbundle:Profile:showcontent.html.twig
文件中創建了一個表單。我想知道用戶是否想訂閱新聞通訊。從簡單的表單獲取數據到控制器中
<form action="{{ path('fos_user_newsletter') }}" method="POST"
class="fos_user_newsletter" id="fos_user_newsletter">
<input type="checkbox" name="test123" value="HTML"
{% if user.newsletterEnabled == 1 %} checked
{% endif %} onclick="this.form.submit();"> Subscribe to Newsletter
</form>
現在我想獲取控制器中的數據。
public function subscribeNewsletterAction(Request $
var_dump($request->request->all());die;
}
這不顯示任何內容,我不能叫$form = $this->createFormBuilder($task)
因爲它在FOSUserBundle
。
如果點擊複選框,我該如何獲取信息?我在做什麼想法錯誤?
是該文件是在源文件夾。我需要用以下代碼替換createFormBuilder: \t \t $ form = $ this-> container-> get('form.factory') - > createBuilder() 因爲控制器找不到createFormBuilder 現在如何渲染形成一個現有的觀點?我想將其顯示在Profile:show.twig.html視圖中?意思就是複選框。 – joelschmid
如果你使用bilder的形式,很容易渲染它,在你的控制器的響應: 返回$ this-> render('AcmeTaskBundle:Default:new.html.twig',array( 'form'= > $ form-> createView())); 如果你想要把它放進檔案FOSUserBundle頁面,您應該overdefine默認頁面是這樣的: 重寫模板: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_templates .md 覆蓋控制器: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_controllers.md – vobence