在Symfony中的Same Controller中重定向到Same方法(分页链接)

时间:2018-11-06 08:48:31

标签: php symfony symfony-3.3

好吧,我有这个方法:

/**
 * @Route("/articles/{category}/{id}/true/{page}", defaults={"page"=1}, name="articleAjax")
 */
public function getArticlesAjax($category, $id, $page)
{
}

我想在其中创建分页链接,像这样:

    $html .= '<ul>';

    for ($i = 1; $i <= $totalPages; $i++) {
        $html .= '<li><a href="">' . $i . '</a></li>';
    }

    $html .= '</ul>';

但是现在,如何将href设置为相同的方法并传递变量。然后在视图文件中,仅渲染此变量$html有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果要在控制器内部生成控制器的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>';
}

但是我会建议您在树枝模板中使用此功能,并在其中使用{{ path() }}函数。