Перенаправление на тот же метод в Same Controller в Symfony (ссылки на страницы) - PullRequest
0 голосов
/ 06 ноября 2018

Ну, у меня есть этот метод:

/**
 * @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 голосов
/ 06 ноября 2018

Если вы хотите сгенерировать 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() }}.

...