如何为所有视图启用主题?

How to enable a theme for all views?

我正在做一个 CakePHP 3 项目,我是 CakePHP 的新手。

我在 plugins/MyTheme 中制作了一个主题 MyTheme

我还配置了 plugins/MyTheme/src/Template/Layout/ 目录中的 default.ctp 以及 plugins/MyTheme/webroot/css//plugins/MyTheme/webroot/js/ 目录中的所有 cssjs 文件。

如何为所有视图启用此主题(主主题)?

[...] How do I enable this theme for all views (master theme) ?

通过在控制器中定义要使用的主题(通过 $theme 属性(在 CakePHP 3.1 之前),或通过视图构建器 theme() 方法),您的所有应用程序控制器扩展,默认情况下应为 AppController.

类似于

//...

class AppController extends Controller
{
    // With CakePHP < 3.1
    public $theme = 'MyTheme';

    // With CakePHP >= 3.1
    public function beforeRender(\Cake\Event\Event $event)
    {
        $this->viewBuilder()->theme('MyTheme');
    }
}

另见