Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Дефис в названии контроллера


kagan

Recommended Posts

Привет.

 

Подскажите пожулуйста как можно сделать страницу доступной по линку в OpenCart 2.2?

http://oc2200/index.php?route=product/page-name

Проблема с дефисом.

 

Все дело в контроллере, раньше задавал просто ControllerProductPageName и страница была доступна через дефис, сейчас на OpenCart 2.2. сделать тоже самое не могу, выдает "Страница не может быть найдена".

Надіслати
Поділитися на інших сайтах

Все оказалось проще.

 

Если заглянуть в папку движка, а именно в файл роутинга "/system/engine/action.php".

Можно увидеть что там стоит регулярка, которая обрезает лишние символы.

 

Поэтому при таком название "ControllerProductPageName" страница будет доступна как с роутом

?route=product/page-name

так и

?route=product/pagename
Надіслати
Поділитися на інших сайтах

да. режет всё кроме букв и цифр /[^a-zA-Z0-9]/

а что проще оказалось? регулярка не изменилась в новой версии

 

Я думал что что-то придется менять в названии контроллера, а достаточно просто оставить старое название без дефиса + не имеет значение наличия тире в названии файла контроллера.

 

Странно что на старых версиях oc2.1.x и ниже такое не катит, т.е. наличие тире в названии файла обязательно, если в роуте тире тоже присутствует.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.