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

标签 cakephp

我正在寻找有关在 CakePHP 中创建管理员部分的最佳方法的见解。我看过像 BrowniePHP 和其他插件这样的插件,但我对使用插件并不完全满意。所以我正在尝试创建我自己的,它将包含我需要的东西。我看过一些教程,但找不到正确的答案。

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

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

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

我仍在学习 CakePHP,任何详细说明将不胜感激。

最佳答案

要创建管理部分,您要做的第一件事是手动编辑 core.php/app/config并写下设置 Routing.prefixes .该行应该在第 88 行附近的某个地方,您只需取消注释即可。
如果你找不到它,它应该是这样的:

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

所以现在你可以在你的 Controller 中编写你的管理功能,如下所示:
function admin_edit($id = null) {
    //your admin function
}

您不需要访问每个模型,因为您像其他“正常”操作一样在 Controller 中编写这些函数。

你只需要连接一个路由来处理管理操作:
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您可以编写方法来检查是否允许用户访问这些方法。

有关更多信息,请阅读这些手册条目:

Prefix-Routing
Authentication (Auth-Component)

关于CakePHP - 创建管理部分的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6338442/

相关文章:

Cakephp 分页器自定义样式

php - CakePHP 显示空白页

CakePHP 和子选择

cakephp - WKHTMLTOPDF 内部错误

php - CAKEphp 虚拟字段不工作

cakePHP - 修改后的字段未更新

php - 如何像facebook news feed一样在一个页面中显示多表数据

php - 使用 jquery ajax 处理服务器端验证的最佳方法

wordpress - WordPress和CakePHP之间的单点登录(SSO)

php - 在 CakePHP 3 中将自定义 SQL 代码放在哪里?