CakePHP从内部/外部链接呈现不同的布局文件

时间:2013-01-17 12:25:02

标签: cakephp view render cakephp-2.1

在我的项目中,我在灯箱中显示我的视图,我不希望加载顶部导航。 我正在使用:

  

$这 - >呈现( 'AJAX');

这样,只加载了内容,它在灯箱内看起来很不错。

问题是,当我分享视图链接时。

点击查看链接仅显示视图页面没有顶部导航(等)

任何想法,我如何仅为view-method更改渲染值?

2 个答案:

答案 0 :(得分:1)

通常这是请求处理程序进入的位置。

尝试这样的事情:

if ($this->request->is('ajax')) {
    $this->layout = 'ajax';
    $this->render('ajax');

} else {
    $this->layout = 'regular_layout';
    $this->render('not_ajax');
}

直接访问app/controller/action时,将呈现“非ajax”视图/布局。

More in the docs

答案 1 :(得分:0)

您可以使用$ this-> referer()查看用户是来自您的网站还是其他网站,如果他们来自其他网站(外部),然后呈现不同的视图或只是将用户重定向到另一个网页..你可以用会话做同样的事情,而不是裁判地址,检查用户是否有会话(你必须先设置)......