我正在尝试将/ 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:$
答案 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'));将使用标准页面控制器