Kohana модель пользователя
Я пытаюсь добавить пользовательские страницы в модель пользователя.
Если бы я делал простые страницы, я бы просто создал контроллер в своем application\classes\controller
и просмотр файла в \application\views
, но теперь я хотел бы сделать то же самое с пользовательским модулем.
Я нашел файлы представлений в modules\user\views\user, но не могу найти контроллер или что-то еще, что их загружает.
Я попытался просто создать новый файл с именем test.php, а затем перейти к localhost/user/test
но получите ошибку:
Запрашиваемый URL-адрес пользователя / теста не найден на этом сервере.
Если бы я попробовал localhost/user/profile, все работает просто отлично. Что я здесь не так делаю?
2 ответа
Если localhost/user/profile
работает для вас, должна быть функция с именем action_profile()
где-то в этом пользовательском модуле.
Выполните глобальный поиск по запросу "action_profile", и вы сможете найти файл контроллера, который обслуживает этот URL. Затем вы можете добавить другое действие для новой страницы, которую вы хотите добавить.
Или вы можете добавить контроллер в тот же каталог, если вам нужен новый контроллер.
В любом случае, если это не сработает, вам может потребоваться изменить маршруты (в вашей начальной загрузке или в файле init.php модуля).
Сделайте себе одолжение и прочитайте о каскадной файловой системе. По сути, все, что использует Kohana::find_file() - которое ядро Kohana часто использует - должно найти файлы, которые вы ищете в модулях.
Поскольку ваш веб-сервер пытается предоставить вам webroot / user / test, чего он не может, он будет перенаправлен в Kohana. Затем Kohana попытается сопоставить "пользователь / тест" с маршрутом. Что в вашем случае может, так как не получить исключение "Невозможно найти маршрут, соответствующий URI: пользователь / тест". Kohana не поставляется с контроллером, который обрабатывает то, что вы хотите.
Есть несколько модулей, которые соответствуют вашим потребностям, если я правильно их понимаю. Скорее всего, у них там будут "СМИ" о "убийствах", как этот.