You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В рамках данной задачи необходимо реализовать следующее:
Вынести маршруты модуля в конфиг
Страницы модуля сделать классами-контроллерами.
Проверку прав доступа (если требуется) реализовать c помощью middleware
Примерный план работ
Раньше модули в качестве точки входа использовали файл index.php в папке с модулем и дальше уже по GET параметру определяли страницу, которую нужно подключить и отобразить пользователю.
Сейчас определение страницы, которую необходимо показать пользователю выполняется роутером.
Допустим мы хотим переделать главную страницу загрузок.
Создаем контроллер для главной страницы загрузок. Например DownloadsController (в качестве примера можно взять какой нибудь контроллер из новостей)
В контроллере создаем метод index и в return можем вернуть простую строку return 'test';
В папке config создаем файл routes.php (в качестве примера можно взять файл из модуля news и доработать его)
В файле с роутами создаем группу маршрутов, которая будет обрабатывать всё, что запрашивается по пути /downloads
В группе добавляем маршрут, который будет принимать в качестве первого аргумента "/", а вторым аргументом массив в котором будет наш контроллер и метод который будет выполняться.
После выполнения этих действий в консоли выполняем php johncms cache:clear . Дальше при открытии site.ru/downloads/ у нас должна открыться страница с надписью test.
После этого можно начинать переносить код из файла index.php в наш контроллер. Код попутно нужно будет адаптировать для работы в контроллере. В качестве примера можно брать контроллеры из других модулей. Там можно посмотреть как подключать шаблоны, как задавать заголовки страниц, хлебные крошки, получать конфиги и прочее.
The text was updated successfully, but these errors were encountered:
В рамках данной задачи необходимо реализовать следующее:
Примерный план работ
Раньше модули в качестве точки входа использовали файл index.php в папке с модулем и дальше уже по GET параметру определяли страницу, которую нужно подключить и отобразить пользователю.
Сейчас определение страницы, которую необходимо показать пользователю выполняется роутером.
Допустим мы хотим переделать главную страницу загрузок.
После выполнения этих действий в консоли выполняем php johncms cache:clear . Дальше при открытии site.ru/downloads/ у нас должна открыться страница с надписью test.
После этого можно начинать переносить код из файла index.php в наш контроллер. Код попутно нужно будет адаптировать для работы в контроллере. В качестве примера можно брать контроллеры из других модулей. Там можно посмотреть как подключать шаблоны, как задавать заголовки страниц, хлебные крошки, получать конфиги и прочее.
The text was updated successfully, but these errors were encountered: