Как в 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)