CakePHP - Каков наилучший подход для создания раздела администратора - PullRequest
4 голосов
/ 14 июня 2011

Я ищу понимание лучшего подхода к созданию раздела администратора в CakePHP.Я смотрел на плагины, такие как BrowniePHP, а также другие, но я не совсем доволен использованием плагинов.Поэтому я пытаюсь создать свою собственную, которая будет включать в себя то, что мне нужно.Я посмотрел некоторые учебные пособия, но не могу найти правильный ответ.

В настоящее время я создаю обширное приложение, которое выполнено примерно на 10%, но теперь я чувствую необходимость иметь раздел администратора, прежде чем двигаться дальше..

По сути, мне нужен раздел, в котором я могу добавлять новые статьи, утверждать комментарии, запрещать доступ пользователей и т. Д. Этот раздел должен быть доступен только администратору.

Кроме того, этот раздел администратора должен быть в состоянии сохранить на любую другую модель.

Я все еще изучаю CakePHP, и любые подробные инструкции приветствуются.

Ответы [ 2 ]

5 голосов
/ 14 июня 2011

для создания административного раздела первое, что вам нужно сделать, это вручную отредактировать core.php в /app/config и записать настройку Routing.prefixes.Эта строка должна находиться где-то в строке 88, и вам просто нужно раскомментировать ее.
Если вы не можете ее найти, она должна выглядеть следующим образом:

Configure::write('Routing.prefixes', array('admin'));

Так что теперь вы можете написать своему администратору-функции внутри ваших контроллеров, такие как:

function admin_edit($id = null) {
    //your admin function
}

Вам не нужен доступ к каждой модели, так как вы пишете эти функции в своих контроллерах, как любое другое «нормальное» действие.

Вам просто нужно подключить маршрут для обработки действий администратора:

Router::connect('/admin/:controller/:action/*', array('admin' => true, 'prefix' => 'admin', 'controller' => 'pages'));
// 'admin' => true is a variable for you so you can check if it's an admin-action which is requested
// 'prefix' => 'admin' means that you can write function with this prefix like above

Затем вы можете получить доступ к этим действиям через URL http://yourapp.com/admin/controller/action

Если вы сейчасиспользуйте Auth-Component, вы можете написать методы для проверки, разрешен ли пользователю доступ к этим методам.

Для получения дополнительной информации, пожалуйста, прочитайте следующие записи:

Префикс-маршрутизация
Аутентификация (Auth-Component)

0 голосов
/ 14 июня 2011

Это хорошая статья . Вас могут заинтересовать эти и эти ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...