Symfony2路由中的可选参数没有值

时间:2014-11-09 08:08:32

标签: php symfony routing

我在Symfony2中定义路线时正在努力解决这个问题

Mi路由:

blog:
path: /blog/{page}
defaults: { _controller: ManualRouteBundle:Blog:show, page: 33 }

我的控制器:

<?php
namespace Manual\RouteBundle\Controller ;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class BlogController extends Controller{
    public function showAction($page){

        return $this->render('ManualRouteBundle:Blog:show.html.twig') ;
    }
}

我的观点:

Blog # {{page}}

当我尝试使用此地址访问时

http://test/web/blog 

而不是

http://test/web/blog/1

我收到此错误

 Variable "page" does not exist in ManualRouteBundle:Blog:show.html.twig at line 1
500 Internal Server Error - Twig_Error_Runtime 

不是页面值应该是33?

1 个答案:

答案 0 :(得分:0)

我在#symfony上得到了答案,我必须将变量传递给视图。

$this->render() like this: $this->render('show.html.twig', array('page' => $page));

奇怪的行为imho。