Мне нужно создать маршрутизацию, например
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: отредактированный вопрос




С маршрутизацией вы мало что можете сделать по этому поводу.
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.