重定向到 Symfony 中相同控制器中的相同方法(分页链接)
Redirect to Same method in Same Controller in Symfony (Pagination links)
嗯,我有这个方法:
/**
* @Route("/articles/{category}/{id}/true/{page}", defaults={"page"=1}, name="articleAjax")
*/
public function getArticlesAjax($category, $id, $page)
{
}
我想在里面创建分页 link,像这样:
$html .= '<ul>';
for ($i = 1; $i <= $totalPages; $i++) {
$html .= '<li><a href="">' . $i . '</a></li>';
}
$html .= '</ul>';
但是现在,如何将 href 设置为相同的方法并传递变量。然后在视图文件中,只渲染这个变量 $html
有什么想法吗?
如果你想在控制器中生成控制器的 url,请在你的示例中使用 $this->generateUrl()
,你可以这样做:
for ($i = 1; $i <= $totalPages; $i++) {
$route = $this->generateUrl('articleAjax', [
'category' => $category,
'id' => $id,
'page' => $i,
]);
$html .= '<li><a href="'. $route. '">' . $i . '</a></li>';
}
但我会在你的 twig 模板中对此进行评论并使用 {{ path() }}
函数。
嗯,我有这个方法:
/**
* @Route("/articles/{category}/{id}/true/{page}", defaults={"page"=1}, name="articleAjax")
*/
public function getArticlesAjax($category, $id, $page)
{
}
我想在里面创建分页 link,像这样:
$html .= '<ul>';
for ($i = 1; $i <= $totalPages; $i++) {
$html .= '<li><a href="">' . $i . '</a></li>';
}
$html .= '</ul>';
但是现在,如何将 href 设置为相同的方法并传递变量。然后在视图文件中,只渲染这个变量 $html
有什么想法吗?
如果你想在控制器中生成控制器的 url,请在你的示例中使用 $this->generateUrl()
,你可以这样做:
for ($i = 1; $i <= $totalPages; $i++) {
$route = $this->generateUrl('articleAjax', [
'category' => $category,
'id' => $id,
'page' => $i,
]);
$html .= '<li><a href="'. $route. '">' . $i . '</a></li>';
}
但我会在你的 twig 模板中对此进行评论并使用 {{ path() }}
函数。