#php #kohana #kohana-3 #kohana-auth #kohana-3.0
#php #kohana #kohana-3 #kohana-auth #kohana-3.0
Вопрос:
Я пытаюсь добавить пользовательские страницы в пользовательскую модель.
Если бы я создавал простые страницы, я бы просто создал контроллер в своем applicationclassescontroller
и файл просмотра в applicationviews
, но теперь я хотел бы сделать то же самое с пользовательским модулем.
Я нашел файлы просмотра в modules user views user, но я не могу найти контроллер или что-либо еще, что их загружает.
Я попытался просто создать новый файл с именем test.php и затем перешел к localhost/user/test
, но получил ошибку:
Запрошенный URL user / test не был найден на этом сервере.
Если бы я попробовал localhost / user / profile, все работает просто отлично. Что я здесь делаю не так?
Комментарии:
1.
...I would like to do same thing with user module.
не смог этого понять. не могли бы вы еще раз уточнить, плз
Ответ №1:
Если localhost/user/profile
у вас работает, то где-то в этом пользовательском модуле должна быть функция, вызываемая action_profile()
.
Выполните глобальный поиск по «action_profile», и вы должны быть в состоянии найти файл контроллера, который обслуживает этот URL. Затем вы можете добавить другое действие для новой страницы, которую вы хотите добавить.
Или вы можете добавить контроллер в тот же каталог, если вам конкретно нужен новый контроллер.
В любом случае, если это не сработает, вам может потребоваться изменить маршруты (в вашем bootstrap или в модуле init.php файл).
Ответ №2:
Сделайте себе одолжение и почитайте о каскадной файловой системе. В принципе, все, что использует Kohana::find_file() — который ядро Kohana использует часто — должно быть готово к поиску файлов, которые вы ищете в модулях.
Поскольку ваш веб-сервер пытается предоставить вам webroot / user / test, чего он не может, он будет перенаправлен в Kohana. Затем Kohana попытается сопоставить ‘user / test’ с маршрутом. Что в вашем случае он может с тех пор делать, не получает исключение «Не удается найти маршрут, соответствующий URI: user / test». Kohana не поставляется с контроллером, который обрабатывает то, что вы хотите.
Есть несколько модулей, которые соответствуют вашим потребностям, если я их правильно понимаю. Скорее всего, в их названии будут ‘media’ или ‘assasts’, как этот.