CakePHP路线一直回到/

时间:2011-02-20 13:51:40

标签: php cakephp cakephp-1.3

我正在尝试将/ 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时,它会抱怨该函数不存在,所以我确实在寻找它。

帮助?

编辑:大修正,我所有的管理员网址都回到/ edit2:解决了它,appcontroller:$

2 个答案:

答案 0 :(得分:2)

在/ views / pages /.

中创建admin_index.ctp文件

$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 函数,请将此行添加到routes.php:

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

答案 1 :(得分:0)

Router :: connect('/ admin /',array('controller'=>'pages','action'=>'index','admin'));将使用标准页面控制器