【发布时间】:2015-10-09 22:18:55
【问题描述】:
我学习了一个 symfony2,我会尝试在 symfony 演示应用程序(博客)中更改启动页面的路径。而是 FrameworkBundle:Template:template 控制器与静态页面 default/homepage.html.twig 我想更改路由到 AppBundle:Blog:index 但是我有以下错误:
Controller "AppBundle\Controller\BlogController::indexAction()" 要求您为 "$page" 参数提供一个值(因为没有默认值或者因为在此参数之后有一个非可选参数)。
还有一个方法代码:
/**
* @Route("/", name="blog_index", defaults={"page" = 1})
* @Route("/page/{page}", name="blog_index_paginated", requirements={"page" : "\d+"})
*/
public function indexAction($page)
{
$query = $this->getDoctrine()->getRepository('AppBundle:Post')->queryLatest();
$paginator = $this->get('knp_paginator');
$posts = $paginator->paginate($query, $page, Post::NUM_ITEMS);
$posts->setUsedRoute('blog_index_paginated');
return $this->render('blog/index.html.twig', array('posts' => $posts));
}
app/config/routing.yml
app:
resource: @AppBundle/Controller/
type: annotation
prefix: /{_locale}
requirements:
_locale: %app_locales%
defaults:
_locale: %locale%
homepage:
path: /{_locale}
requirements:
_locale: %app_locales%
defaults:
_controller: AppBundle:Blog:index
#_controller: FrameworkBundle:Template:template
#template: 'default/homepage.html.twig'
_locale: "%locale%"
我知道,我可以更改参数“$page = 1”,但我认为它很难解决。任何人都可以帮助我吗?
【问题讨论】: