首页 文章

使用CakePHP根据当前记录自定义布局

提问于
浏览
0

有没有人建议如何根据当前视图自定义网站范围的布局,而不是与视图相关的数据?在大多数情况下,我们使用的模型具有关联的俱乐部ID,因此必须根据当前页面与哪个俱乐部相关联来自定义布局 Headers 图像,css等 .

这是我到目前为止所想的 . 调用与当前控制器关联的模型中的函数,该函数为您提供布局参数 . 在appController中,beforeRender设置俱乐部的布局参数 .

这似乎不是很优雅,因为每个模型都必须具有此功能,如果在app控制器中定义了beforeRender,我将如何调用正确的模型?

一些提示会很棒!

3 回答

  • 0

    罗素,

    你可能想看看this .

  • 1

    只需在名为“dashboard.ctp”的布局中创建一个文件,如果您的视图是索引,那么您的函数将是这样的......

    function index() {
        $this->User->recursive = 2;
                $this->layout = 'dashboard';
        $this->set('users', $this->paginate());
    }
    

    重要的是 $this->layout = 'dashboard';

  • 0

    我们最终要做的是在app控制器中检查当前正在加载网站的域,然后根据此信息设置布局(为站点需要为每个域定制一个布局) . 不是一个很好的解决方案但它工作正常 .

相关问题