@evil_genius01
Начинающий веб программист

Как настроить роутинг в symfony 3, чтобы уровень вложенности страниц был неограниченным?

Добрый день!

Можно ли в symfony назначить на один экшн обработку урлов с неограниченной вложенностью?
Или же придется всеже ограничить вложенность и делать по экшну на каждый уровень (пример экшна для страницы 4 уровня вложенности ниже)?
/**
     * @Route("/{part1}/{part2}/{part3}/{part4}", name="simple_page")
     * @param Request $request
     * @param $part1
     * @param $part2
     * @param $part3
     * @param $part4
     * @return Response
     */
    public function pageAction(Request $request, $part1, $part2, $part3, $part4)
    {

        return $this->render('default/index.html.twig', [
            "path1" => $part1,
            "path2" => $part2,
            "path3" => $part3,
            "path4" => $part4
        ]);
    }
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
page_item:
    path: /{parameters}
    defaults: { _controller: AppBundle\Controller\Page\PageController:itemAction }
    requirements:
        parameters: ".+"

public function itemAction(Request $request, $parameters)
{
    $parts = explode('/', $parameters);
    // ...
}

Этот код должен находится в самом конце списка роутов, т.к. он будет соответствовать любой ссылке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы