0

我的 Cakephp 2.1 应用程序有点困难。

如果引用者来自外部 url,我想呈现不同的布局。可悲的是,这不起作用:

 if($this->referer(null, true))
     {
        $this->layout = 'lightview';
     }
     else 
     {
        $this->layout = 'default';
     }

有什么想法可以解决这个问题吗?

提前致谢

4

1 回答 1

1

你在这里遇到了一个逻辑错误:

$this->referer(null, true) // true as second param: only internal

只会返回 lightview 布局,如果

  • 有推荐人(并非总是如此)
  • 内部推荐人

所以这可能不是你想要的。

你不能轻易做到这一点。有时只是没有推荐人。即使有,你可能仍然不知道这个人是否来自其他地方,只是“隐藏”了推荐人。或者然后浏览您的网站(从这里开始创建内部推荐人)。

您需要在会话中存储第一次访问时的初始结果,以便稍后检查。但即便如此,您的方法也非常不一致,而且很可能会破坏......

于 2013-01-25T13:37:54.817 回答