【问题标题】:Symfony render multiple objectsSymfony 渲染多个对象
【发布时间】:2022-01-12 19:40:30
【问题描述】:

我想在页面上渲染一些电影细节,以及删除电影的按钮。 但是,我不知道如何向我的树枝页面发送多个响应。 这是我的代码:

    public function show( ManagerRegistry $doctrine, $id): Response {
        $film = $doctrine->getRepository(Film::class)->find($id);

          $builder 
             ->add('deleteFilm', ButtonType::class) 
          ;

        return $this->render('details/description.html.twig', ['film' => $film]);

    }
    ```
but as you can see, i can only render, my film object but not my button. How can i do that ? 
Thanks for your help 

【问题讨论】:

  • 你的问题很不清楚。 $builder 变量从何而来?您是否将 FormView ($form->createView()) 发送到 twig 模板?
  • 不,问题是,我是 symfony 的初学者,我不知道如何创建一个按钮,而且 symfony 文档对此非常不清楚。

标签: php symfony


【解决方案1】:

这里更新这么快,我终于解决了我的问题。 我的误解是可以将多个对象发送到树枝模板。 这就是我的最终代码:

   class descriptionFilm extends AbstractController{
     /**
     * @Route("/details/{id}", name="description")
     * @Route("/", name="home")
     */


    public function show( ManagerRegistry $doctrine, $id, Request $request): Response {
        $film = $doctrine->getRepository(Film::class)->find($id);

        $form = $this->createFormBuilder()
             ->add('submitForm', SubmitType::class, ['label'=>'delete film '])
             ->getForm()
        ; 

        if($form->isSubmitted() && $form->isValid()){
//Do some stuff here

            return $this->redirectToRoute('home');
        }

        $form ->handleRequest($request);

   

        return $this->render('details/description.html.twig', ['film' => $film, 'deleteFilm' => $form->createView()]);


    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 2014-11-08
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多