Как включить хэштег в маршрутизацию Symfony

Мне нужно создать маршрутизацию, например

http://localhost:89/app_dev.php/list#gold-coin

Таким образом, откроется определенная вкладка по навигации.

Но моя маршрутизация работает не так, как ожидалось.

shop_product:
    path: /list#{slug}
    methods: [GET] 

Редактировать:

У меня есть три вкладки: вкладка-A, вкладка-B, вкладка-C, и мне нужно отобразить список продуктов, связанных с вкладкой-A, щелкнув URL-адрес: http://localhost:89/app_dev.php/list#tab-A. (считайте вкладку A как категорию). Мне нужна табуляция A в качестве параметра заголовка, и мы не предпочитаем URL-адрес, такой как http://localhost:89/app_dev.php/list/tab-A.

Непонятно, о чем вы просите. Вы можете легко сгенерировать URL-адреса с фрагментами. Но действительно ли вы пытаетесь извлечь слизень и передать его контроллеру списка? Это не сработает.

Cerad 14.06.2018 15:56

@Cerad: отредактированный вопрос

stefun 14.06.2018 17:00
stackoverflow.com/questions/940905/… Просто не будет.
Cerad 14.06.2018 17:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
4
1 015
3

Ответы 3

С маршрутизацией вы мало что можете сделать по этому поводу.

http://localhost:89/app_dev.php/list#gold-coin

То же, что и для сервера:

http://localhost:89/app_dev.php/list

anchor#something просто используется на стороне клиента, я считаю

Поддержка привязок появилась в версии 3.2. Для компонента маршрутизации с использованием переменной fragment:

$this->get('router')->generate('articles', ['_fragment' => 'comments']);

Сгенерирует URL-адрес, например: /articles#comments

Для получения дополнительной информации просмотреть объявление.

#gold-coin не отправляется на сервер. См. Этот вопрос, чтобы узнать почему.

Если вы хотите знать сторону сервера-слага и хотите иметь его якорь, используйте такой маршрут: /list/{slug} и, в вашем javascript, используйте location.href, чтобы изменить привязку.

Если вы не хотите знать привязку на стороне сервера, используйте параметр _fragment при отображении URL.

Другие вопросы по теме