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

时间:2016-06-03 10:14:49

标签: cakephp themes cakephp-3.0

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

我已在MyTheme中添加了主题plugins/MyTheme

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

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

1 个答案:

答案 0 :(得分:2)

  

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

通过在所有应用程序控制器扩展的控制器中定义要使用的主题(通过$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');
    }
}

另见