Маршрут CakePHP продолжает возвращаться к / - PullRequest
1 голос
/ 20 февраля 2011

Я пытаюсь подключиться / admin / к статической странице 'admin.ctp'.

Я скопировал контроллер страниц для модификации и скопировал функцию отображения в admin_display. Я также попытался создать функцию admin_index без параметров. Мой маршрут выглядит следующим образом:

Router::connect('/admin/', array('controller' => 'pages', 'action' => 'index', 'prefix' => 'admin'));

моя функция admin_index выглядит так:

    function admin_index() {
        $page = 'admin';
        $subpage = null;
        $title_for_layout = 'Admin';
        $this->set(compact('page', 'subpage', 'title_for_layout'));
        $this->render('/admin');
    }

Я помещаю admin.ctp в / views / pages / и в / views / pages / admin /

Во всяком случае. Когда я захожу в / admin / он перенаправляет меня в /. Но когда я удаляю admin_index, он жалуется, что функция не существует, поэтому я ищу ее.

Помощь

edit: Большое исправление, все мои админские URL возвращаются в / edit2: решил, что-то с appcontroller: $

Ответы [ 2 ]

2 голосов
/ 20 февраля 2011

Создать файл admin_index.ctp в /views/pages/.

Удалить $this->render('/admin'); из функции admin_index. (Если вы хотите использовать admin.ctp, я думаю, все, что вам нужно сделать, это удалить / из аргумента). Нет смысла отображать admin.ctp для admin_index, поскольку для торта вполне естественно отображать admin_index.ctp для функции admin_index. Ты просто ничего не получаешь, если не будешь так, как надо.

Если это не сработает, попробуйте

Router::connect('/admin/', array('controller' => 'pages', 'action' => 'index', 'prefix' => 'admin', 'admin' => true));

Если вы хотите перенаправить /admin/*action* запросы к контроллерам страниц, admin_ action function, то добавьте эту строку в rout.php:

Router::connect('/admin/:action/*', array('controller' => 'pages', 'prefix' => 'admin', 'admin' => true));
0 голосов
/ 21 февраля 2011

Router :: connect ('/ admin /', массив ('controller' => 'pages', 'action' => 'index', 'admin')); будет работать со стандартным контроллером страниц

...