4

谁能告诉我为管理后端创建 CRUD 的官方方法是什么?

在 CakePHP 2 中,烘焙代码在函数名称和视图文件之前使用 'admin_' 进行了扩展。在 CakePHP 中,我似乎再也找不到任何关于它是如何完成的直接信息了。烘焙控制台不再要求管理员。在本主题中:https ://github.com/cakephp/bake/issues/28我看到他们提到使用 --prefix 扩展名,但随后控制器被放置在单独的 /Admin 文件夹中,而 CRUD 函数继续拥有它们正常的名字。在食谱的某些部分()我仍然看到他们提到了像 admin_view 这样的函数。

那么谁能告诉我从 3.2 开始的官方“蛋糕”方式是什么?

4

3 回答 3

10

如果您想使用蛋糕烘焙创建控制器。您可以使用以下命令执行此操作:

bin/cake bake controller --prefix admin users

供查看:

bin/cake bake template --prefix admin users

它在模板目录中创建 admin 文件夹,然后为用户创建文件夹,然后包含文件。对于管理员前缀文件夹结构,如template/admin/users/index.ctp

请参阅官方食谱文档

另外在你的 config/routes.php 添加这个:

Router::prefix('admin', function ($routes) {
    $routes->connect('/', ['controller' => 'Users', 'action' => 'index']);
    $routes->extensions(['json', 'xml']);
    // All routes here will be prefixed with `/admin`
    // And have the prefix => admin route element added.
    $routes->fallbacks('DashedRoute');
});
于 2017-05-01T09:56:00.453 回答
1

下面是烘焙用户表的所有前缀控制器和模板的烘焙命令

cake bake all users --prefix admin

这是使其工作的路线代码:-

Router::prefix('admin', function ($routes) {
        // Because you are in the admin scope,
        // you do not need to include the /admin prefix
        // or the admin route element.
        $routes->connect('/', ['controller' => 'Users', 'action' => 'index']);
        $routes->extensions(['json', 'xml']);
        // All routes here will be prefixed with `/admin`
    //$routes->connect('/admin', ['controller' => 'Order', 'action' => 'index']); // call other controller like this
        // And have the prefix => admin route element added.
        $routes->fallbacks('DashedRoute');
    }); 

这对我有用,希望对你有用:)

于 2017-08-05T06:54:57.977 回答
1

这就是现在在 CakePHP 3 中的工作方式,前缀方法消失了,前缀现在确实在子命名空间中生成单独的控制器,用于更小/更简单的控制器,以及为了适当的分离,不仅在控制器级别,而且在模板级别,其中模板应相应地放置在单独的文件夹中。

您所指的admin_view示例只是一个示例,应该显示如何为特定操作手动设置自定义布局,它与前缀路由无关。

所以,如果你想使用前缀路由,那么“官方”的方式就是使用--prefix选项。

也可以看看

于 2016-07-31T12:40:17.350 回答