CakePhp - сделать вид + afterFilter - PullRequest
0 голосов
/ 25 июня 2010

Проблема в том, что я хочу вызвать функцию индекса, мне нужно, чтобы она отобразила представление, а затем afterFilter, чтобы снова перенаправить на функцию индекса и сделать то же самое. Как и в цикле, проблема в том, что он не рендерится, я пытался использовать $ this-> render ('index'), но он не работает, а также другие вещи ..

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);
}

ПРОСМОТР = 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 Ответ

1 голос
/ 26 июня 2010

функция, которая постоянно проверяет мою базу данных на наличие изменений, если изменение происходит из-за перенаправления, если нет, мне нужен постоянный цикл «проверка базы данных» и «рендеринг представления».

Это невозможно полностью на сервере с PHP, особенно с системой шаблонов CakePHP. PHP просто «делает страницы» на сервере и отправляет их в браузер и линейным способом. Если вы зациклились на сервере, содержимое вашей страницы просто повторяется:

Normal content
Normal content
Normal content
<redirect>

Чтобы перенаправить клиента, вам нужно вывести заголовки. Заголовки должны быть выведены прежде всего. Если вы уже зациклились несколько раз и контент уже отправлен клиенту, вы больше не сможете перенаправлять.

Есть два способа:

...