Grav — анализировать URL-адрес

Я хочу определить новый шаблон под названием «продукт».

Этот шаблон вызывает внешнюю службу и извлекает информацию об этом конкретном продукте. Это легко сделать с помощью специального плагина, который получает доступ к информации о продукте. Информация о том, как это сделать, была найдена здесь.

Однако я хотел бы, чтобы URL-адрес страницы был примерно таким:

/product/<id>/<seo-friendly-description>

Таким образом, я могу получить в шаблоне Twig как <id>, так и <seo-friendly-description>, которые будут использоваться позже для получения информации о конкретном продукте.

Я пытался найти что-то, что могло бы помочь в документации, но безуспешно. Может ли кто-нибудь указать мне нужный раздел документа или выделить основные шаги, которые необходимо выполнить, чтобы я мог начать решать эту проблему?

На всякий случай я пытаюсь найти что-то похожее на то, как работают бутылки или другие веб-фреймворки:

@route('/hello/<name>')
def greet(name):
    return 'Hello ' + name

person M.E.    schedule 01.03.2018    source источник


Ответы (1)


Я встроил семейную книгу рецептов на свой собственный веб-сайт и столкнулся с похожей проблемой. Я не до конца разобрался со всеми перегибами, но мое решение в основном работает, если вы хотите проверить мою репозиторий github.

Короче говоря, вам нужен плагин для просмотра активного маршрута. Если маршрут совпадает, вы создаете страницу и заполняете ее данными своего плагина.

Я не совсем понял, как выделить активную страницу в меню навигации для сгенерированных страниц, но вы все равно можете найти это решение полезным.

person Jacobm001    schedule 04.03.2018
comment
Спасибо посмотрю. Это актуальная проблема с Grav, которая немного затрудняет работу с более сложными проектами. До сих пор я решил это, используя форму аргумента /arg1:foo/arg2:bar, но у меня есть ощущение, что это обходной путь. Я активно собираю информацию из внешних сервисов в своем последнем проекте, и мне не хватает этого конкретного плагина для работы с динамическими URL-адресами в разделе документации Grav поваренной книги. - person M.E.; 04.03.2018