#routing #processwire
#маршрутизация #processwire
Вопрос:
Привет поклонникам Processwire,
я ищу решение для изменения собственного URL-маршрута в Processwire. Это моя структура шаблонов в Processwire:
/categories (tpl_style_categories_parent.php)
/cat1 (tpl_style_categories.php)
/cat2 (tpl_style_categories.php)
url-адрес на данный момент — categories/cat1, но я хочу только / cat1 в качестве url.
Как я могу сделать это возможным?
Ответ №1:
Лучший способ сделать это — включить сегменты URL в родительском элементе tpl_style_categories_parent (не отображаются в предоставленной вами структуре) для захвата названия категории и отображения содержимого соответствующей страницы. Очень упрощенный код на этой странице шаблона (тот, который здесь не виден):
if($input->urlSegment1) {
$name = $sanitizer->name($input->urlSegment1);
$category_page = $pages->get("template=tpl_style_categories, name={$name}");
echo $category_page->render();
} else {
// normal code for the template
}
Обязательно прочитайте все в этой ссылке, чтобы узнать о лучших методах использования сегментов URL
Комментарии:
1. Я включаю сегмент Url и добавляю ваш код в шаблон. Я пытаюсь www.my-domain.de/cat1 вместо того , чтобы www.my-domain.de/category/cat1 . Но это не работает. В doku я не нашел способа сделать это. Не могли бы вы помочь мне, пожалуйста, с каким-нибудь рабочим примером?
2. @chuebert может быть, вы могли бы предоставить дополнительную информацию, например, обновив свой вопрос, чтобы включить больше примеров кода, которые вы пробовали до сих пор..