CakePHP - 创建管理部分的最佳方法是什么

时间:2011-06-14 02:20:42

标签: cakephp

我正在寻找洞察在CakePHP中创建管理员部分的最佳方法。我看过像BrowniePHP这样的插件以及其他插件,但我对使用插件并不完全满意。因此,我正在尝试创建自己的,包含我需要的东西。我已经查看了一些教程,但无法找到正确的答案。

我目前正在创建一个庞大的应用程序,大约完成了10%,但我现在觉得需要有一个管理部分才能继续。

基本上我想要一个部分,我可以添加新文章,批准评论,拒绝用户访问等。此部分只能由管理员访问。

此外,此管理员部分必须能够保存到任何其他模型。

我仍在学习CakePHP,我们将不胜感激。

2 个答案:

答案 0 :(得分:5)

要创建管理员部分,首先要做的是手动编辑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

然后,您可以通过网址http://yourapp.com/admin/controller/action

访问这些操作

如果您现在使用Auth-Component,您可以编写方法来检查是否允许用户访问这些方法。

有关详细信息,请阅读以下手册:

Prefix-Routing
Authentication (Auth-Component)

答案 1 :(得分:0)

这是一个很好的article。您可能也对thesethese的答案感兴趣。