从控制器向表单发送变量

时间:2017-11-24 20:12:22

标签: php symfony

 $objSearchForm = $this->createForm('uts_hotel_search_request', $objSearchRequest);/*создаем форму с запросом*/
    $templateVars = array(
        'searchForm' => $objSearchForm->createView(),
        'request' => $objSearchRequest
    );
    if($objSearchRequest->isComplete() || $objSearchRequest->isOld()){
        $repository = $em->getRepository('UtsHotelBundle:SearchResult');
        $query = $repository->createQueryForPagination($searchId);/* создаем запрос*/
        $paginator  = $this->get('knp_paginator');/**/
        $pagination = $paginator->paginate($query, $page, 50);    
 $templateVars['pagination'] = $pagination;
 $templateVars['count'] = $req;
 $templateVars['hotels'] = $req;
 return $this->render('UtsHotelBundle:Default:results.html.twig', $templateVars);

在视图中:

{{ templateVars['count'] }}

但我收到了错误:

  

变量“templateVars”不存在于   UtsHotelBundle:默认:results.html.twig

1 个答案:

答案 0 :(得分:3)

将提取

$templateVars,以便您可以访问:

{{ count }}
{{ pagination }}

或者您可以将其更改为:

return $this->render(
    'UtsHotelBundle:Default:results.html.twig',
    ['templateVars' => $templateVars]
);

然后您就可以像

那样访问它了
{{ templateVars['count'] }}