CakePHP 2x从视图向前移动

CakePHP 2x从视图向前移动,cakephp,cakephp-2.0,cakephp-2.1,Cakephp,Cakephp 2.0,Cakephp 2.1,在CakePHP2X中,我想在满足某个条件时显示一些文本,并在满足另一个条件时转发到另一个页面,类似下面的代码。但第二部分不起作用。我知道重定向只在控制器上起作用。有没有办法做到这一点 if ($enable==2){ echo $introduction; } elseif ($enable==1){ **$this->redirect(array('controller'=>'pages' , 'action' => 'home'));**

在CakePHP2X中,我想在满足某个条件时显示一些文本,并在满足另一个条件时转发到另一个页面,类似下面的代码。但第二部分不起作用。我知道重定向只在控制器上起作用。有没有办法做到这一点

if ($enable==2){ 
    echo $introduction; 
    } 
elseif ($enable==1){ 
    **$this->redirect(array('controller'=>'pages' , 'action' => 'home'));**
     }

提前感谢。

尝试使用js帮助程序,如下所示:

$this->Js->domReady('window.location.href="/your/URL/Here";');

看起来您的逻辑是正确的,但是您的redirect()url不是

控制器(而不是视图)应将此作为重定向:

$this->redirect(array('controller'=>'pages', 'action'=>'display', 'home'));
PagesController的工作方式与其他控制器略有不同。默认情况下,它使用“显示”操作呈现页面。然后在这之后传递页面名称

以下是有关页面控制器的更多信息:


希望有帮助。

为什么不能在控制器中执行重定向,这样会更容易?这不是处理解决方案的正确方法。CakePHP重定向实际上应该在控制器中处理。使用Javascript是个坏主意,原因有几个(浏览器兼容性、最佳实践、automagic URL路由、SEO等)。