Как в symphony можно выводить шаблоны из action? как вывести рендер нескольких шаблонов?
очень просто
если нужно в Symfony вывести просто текст - то
        /**
         * @Route("/nameact")
         * @Template()
         */
        public function nameactAction()
        {   
    
        //     ****
          return new Response('текст');
               
        }
если нужно вывести  в Symfony  шаблон с подстановкой переменных  и с HTTP заголовками  - то
        /**
         * @Route("/nameact")
         * @Template()
         */
        public function nameactAction()
        {   
    
        //     ****
          return $this->render('FOSUserBundle:Default:nameTPL.html.twig', $resultarray);
               
        }
если нужно вывести  в Symfony  шаблон с подстановкой переменных  без HTTP заголовок  - то
        /**
         * @Route("/nameact")
         * @Template()
         */
        public function nameactAction()
        {   
    
        //     ****
          return $this->renderView('FOSUserBundle:Default:nameTPL.html.twig', $resultarray);
               
        }
если нужно вывести  в Symfony данные в формате JSON - то
        /**
         * @Route("/nameact")
         * @Template()
         */
        public function nameactAction()
        {   
    
        //     ****
          return new Response(json_encode(array());
               
        }
если нужно вывести  в Symfony сообщение о не существующей странице  - то
        /**
         * @Route("/nameact")
         * @Template()
         */
        public function nameactAction()
        {   
    
        //     ****
            throw $this->createNotFoundException($message);
               
       //****
        }
Если нужно вместо вывода перенаправить , то акшн должен вернуть следующее
 return $this->redirect($this->generateUrl('fos_user_registration_register'),302);
не забудьте подключить 
   
 use SymfonyComponentHttpFoundationRedirectResponse;
    use SymfonyComponentHttpFoundationResponse;
если возвращаете только массив, то имя шаблона должно совпадать с именем экшина
/**
 * @Route("/nameact")
 * @Template()
 */
 public function nameactAction()
 { 
 // ****
 return   $resultarray;
 }
должен существовать шаблон nameact.html.twig
 
                            
                        
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)