首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP - Lithium框架如何更改/切换默认布局

PHP - Lithium框架如何更改/切换默认布局
EN

Stack Overflow用户
提问于 2013-06-05 02:29:54
回答 1查看 875关注 0票数 2

在PHP Lithium中,如何更改默认布局?我对不同的视图有两个布局,我想在不同的视图中切换它们,我如何才能做到这一点?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-05 04:17:12

您可以在控制器中切换布局。因此,当您在控制器中完成时,您可以这样调用render。

代码语言:javascript
复制
return $this->render(array('layout' => 'someFancyLayout'));

你也应该能够在你的控制器中做到这一点。我不确定,但您可能需要扩展控制器来使用这种方式。

代码语言:javascript
复制
 $this->_render['layout'] = 'someFancyLayout';

请注意,您还可以设置自定义媒体处理程序。例如,这是在请求GPX文件时使用的,在这种情况下,我不需要使用布局。

代码语言:javascript
复制
Media::type('gpx', 'application/text', array(
    'view' => 'lithium\template\View',
    'layout' => false,
    'template' => false
));

您也可以使用renderer调用的过滤器来完成此操作:

代码语言:javascript
复制
Media::applyFilter('render', function ($self, $params, $chain) {
    $params['options']['layout'] = 'default';
    if (someCondition == isMet) {
        $params['options']['layout'] = 'anotherLayout';
    }
    return $chain->next($self, $params, $chain);
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16924981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档