重定向到 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() }} 函数。