CakePHP:写完编辑/查看/添加后的脚手架

时间:2013-09-27 21:33:16

标签: cakephp cakephp-2.0 scaffolding

我有一个应用程序,我们提供了一个非常友好的界面来管理数据。这是通过许多控制器来完成的。添加/编辑/查看功能。但现在我们应该有超级管理员和#34;能够编辑任何东西,脚手架将给他们一个快速和肮脏的方式来改变数据。由于脚手架默认使用添加/编辑/查看,我无意中覆盖了脚手架的能力。

我无法改变我的所有来电编辑/添加我们的用户友好"数据管理。所以我想基本上忽略添加/编辑/视图,例如,当用户有一个标记为"是的,请让我脚手架"。我想象它会是这样的:

    public function edit($id) {
        if (admin_user) {        
            $scaffold;
        } else {
            [user-friendly version code]
        }
    }

但没有骰子。我怎样才能实现我的目标?

1 个答案:

答案 0 :(得分:1)

假设您已经拥有管理员用户,并且您只想构建超级用户:

另外假设您将有关超级用户的信息存储在super表中名为users的列中

你的core.php中的

Configure::write('Routing.prefixes', array('admin', 'super));
你的appController中的

public $scaffold = 'super';

beforFilter() {
    if($this->Auth->user('super') && !isset($this->params['super'])
        $this->redirect(array('super' => true));
}

现在我无法尝试这段代码,但这个想法应该可行。

编辑:我们需要检查我们是否已经在super_action中以避免无限重定向