CakePhp - 渲染视图+ afterFilter

时间:2010-06-25 04:24:18

标签: cakephp views rendering

问题是我想调用索引函数,我需要它来渲染视图然后 afterFilter再次重定向到索引函数并执行相同的操作..就像一个循环,问题是它没有渲染它,香港专业教育学院尝试使用$ this->渲染('索引'),但它不起作用,还有其他的东西..

PS:我没有包含我在索引中的所有代码,因为它没有意义,无论是否有渲染,只包括视图所需的东西。

function afterFilter()
{

if ($this->params['action'] == 'index')
{
   sleep(3);
   $this->redirect(array('action'=>'index',$id), null, true);
}

}

功能

function index($ido = 0)
{

$this->set('Operator', $this->Operator->read(null, $ido));
$this->set('ido', $ido);
}

THE VIEW = INDEX.CTP     

  <legend>Operator StandBy Window</legend>
  <?php



  ?>

 </fieldset>

   <?php echo $html->link('LogIn', array('controller' => 'operators', 'action' => 'add'));  ?>
   <?php echo $html->link('LogOut', array('controller' => 'operators', 'action' => 'logout',$ido));  ?>

1 个答案:

答案 0 :(得分:1)

  

一个不断检查我的数据库是否有变化的函数,如果一个变化发生了重定向,如果不是,我需要有一个“检查数据库”和“渲染视图”的常量循环。

这在使用PHP的服务器上完全不可能,尤其不适用于CakePHP的模板系统。 PHP只是在服务器上“制作页面”并以线性方式将它们发送到浏览器。如果您在服务器上循环,页面内容将重复:

Normal content
Normal content
Normal content
<redirect>

要重定向客户端,您需要输出标头。标头需要先输出。如果您已经循环几次并且内容已经发送到客户端,则无法再重定向。

有两种方法: