【问题标题】:CakePHP - What is the best approach to create an Admin SectionCakePHP - 创建管理部分的最佳方法是什么
【发布时间】:2011-06-14 18:12:11
【问题描述】:

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

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

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

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

我还在学习 CakePHP,如果有任何详细的指导,将不胜感激。

【问题讨论】:

    标签: cakephp


    【解决方案1】:

    要创建管理部分,您要做的第一件事是手动编辑/app/config 中的core.php 并写入设置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
    

    然后您可以通过 url http://yourapp.com/admin/controller/action 访问这些操作

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

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

    Prefix-Routing
    Authentication (Auth-Component)

    【讨论】:

    • 我已经启用了 Routing.prefixes 并且我已经为 ie 设置了一些操作。 admin_edit 等。我只是看不到如何将所有内容实现到单个管理部分中。但是,现在它变得更有意义了,我将以这种方式接近它。我想我要做的就是让每个 admin_xxxx 操作都使用一个管理布局,在那里我可以链接到不同的控制器等。希望我能让它工作,因为这是我在学习 CakePHP 时遇到的唯一问题。到目前为止,其他一切都很顺利和壮观。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2022-11-19
    • 2010-09-06
    相关资源
    最近更新 更多