Как работает ЧПУ

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #1 korshunov » 24.01.2023, 11:01

На форуме частенько проскальзывает мысль, что система ЧПУ в OkayCMS очень уж хороша. Но если присмотреться повнимательнее, то не все так безоблачно.

На демосайте на странице ЧПУ устанавливаю
Настройка ЧПУ для категорий - https://demookay.com/category,
Настройка ЧПУ для брендов - https://demookay.com/brand-name.
Первой категории в списке устанавливаю URL - test1,
Первому бренду в списке устанавливаю такой же URL - test1.
В результате адрес первой категории и адрес первого бренда полностью совпадают. По этому одинаковому адресу https://demookay.com/test1 открывается страница категории. А страница бренда недоступна в принципе...

Если другому бренду попробовать установить тот же URL, то он не запишется и выйдет сообщение об ошибке. А вот совпадение с URL категории никак не контролируется, а надо бы...

И понятно, что подобных случаев неверной работы при совпадении URL разных сущностей может возникать много...

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #2 OkayCMS » 25.01.2023, 10:02

Там специальное есть переключатель "Уникальное окончание всех ЧПУ" для таких случаев

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #3 korshunov » 25.01.2023, 12:40

Пробую применить указанную настройку.
На демосайте сначала устанавливаю галочку "Уникальное окончание всех ЧПУ". Затем провожу действия, описанные в первом посте. Результат - в точности та же самая ошибка.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #4 korshunov » 23.08.2023, 07:19

Обнаружился еще такой недостаток ЧПУ:

На демо сайте в админке открываю страницу Доставка, меняю URL на dostavka2, сохраняю. После этого на витрине на разных страницах в подвале показывается старая ссылка https://demookay.com/dostavka, по которой выходит 404.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 29.12.2023, 15:21

Уже почти год прошел с момента написания первого поста темы. Разработчики никак не спешат реагировать.

Обнаружился еще один недостаток в (само) хваленой системе ЧПУ в OkayCMS.
Допустим, захотелось сделать какой-то URL со слешем на конце. Для создания URL-шаблонов, как известно, служит Okay/Core/config/routes.php. Редактируем один из маршрутов в нем так:
'contact' => [
'slug' => '/contact/my/',
'params' => [
'controller' => 'FeedbackController',
'method' => 'render',
],
],

После этого ожидается, что шаблонная вставка {url_generator route='contact'} даст ссылку /contact/my/, но не тут-то было. Финальный слеш Okay молча съедает.

Причина в том, что в Smarty-плагине url_generator разработчики в нескольких местах старательно убирают концевой слеш.
Таким образом, разрекламированная гибкость ЧПУ дает еще одну трещину...


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 15 гостей