如何在 Cakephp 3 中使用主题的控制器和模型代码作为插件

How to use controllers and model code of theme used as plugin in Cakephp 3

我是 cakephp 的新手,并开始在电子商务网站上工作。为主题管理面板创建插件,管理面板主题插件结构如下:

plugins/admin_theme/

|_ config
|_ src 
    |_ Controller
        |_AppController.php
    |_ Template
        |_Layout
          |_default.ctp
|_ tests 
|_ webroot 

现在的困惑是,我应该将 AdminPanel 主题的控制器和模型放在哪里,在主 src 文件夹中,如果我放置所有代码,它将与我的其他应用程序代码混合,第二个我想创建的东西我的其他主题 主要应用程序,使用多个插件的正确方法是什么,如果我想使用两个主题,最重要的是将编码部分(即控制器和模型)放在哪里。

您必须在根文件夹中创建名为 "plugins" 的新文件夹。然后按照文档 https://book.cakephp.org/3.0/en/views/themes.html 中的建议创建类似于插件目录 /src/Template 中的文件夹结构。

然后在您的控制器中,在 beforeRender() 方法中添加以下行以设置主题:

// For CakePHP before 3.1
public $theme = 'Modern';
// For CakePHP before 3.5
$this->viewBuilder()->theme('Modern');
// For CakePHP after 3.5
$this->viewBuilder()->setTheme('Modern');

有关详细信息,请参阅 https://book.cakephp.org/3.0/en/views/themes.html