Пользовательская модель Kohana

#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’, как этот.