我想構建一個導航欄,它顯示在每個頁面上。 因此添加以下代碼到base.html.twig
symfony 3表單不能用樹枝渲染(控制器('...'))
{{ render(controller(
'AppBundle:Navigation:index'
)) }}
然而$form->isSubmitted()
返回false
和$form->getData()
返回null
。這僅僅是樹枝渲染方式上面的情況。如果我通過/navigation
路由正常打開導航:索引頁,$form->isSubmitted()
返回true
和$form->getData()
返回表單數據。
這裏是NavigationController:
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use AppBundle\Entity\Language;
use Doctrine\ORM\EntityManagerInterface;
use AppBundle\Form\Type\NavigationType;
class NavigationController extends Controller
{
/**
* @Route("/navigation", name="navigation")
*/
public function indexAction(Request $request, EntityManagerInterface $em)
{
$language = null;
$form = $this->createForm(NavigationType::class);
$form->handleRequest($request);
dump($language);
dump($form);
if($form->isSubmitted() && $form->isValid())
{
dump('is valid');
}
$data = $form->getData();
dump($data);
dump('isSubmitted(): ' . $form->isSubmitted());
dump($form->isSubmitted());
// replace this example code with whatever you need
return $this->render('navigation/index.html.twig', array(
'form' => $form->createView(),
));
}
}
有誰有解決方法嗎?
我有類似的問題。我可以用認爲該路線是被渲染,然後調用如上呈現模板控制器的目的地控制器所使用的控制器或路徑名,但我KNP分頁呼叫樹枝渲染。 – RichieHH