время заголовка с cakephp

кто-то задает этот вопрос, но ни один ответ не решил эту проблему

заголовок ("обновить: 5; url = 'pagetoredirect.php'");

мы можем использовать это, если мы хотим перенаправить нашу страницу за 5 секунд,

Есть ли способ перенаправить страницу за 5 секунд в cakephp?

если да, пожалуйста, дайте мне знать

я пробовал этот код, но не работает /app/controllers/examples_controller.php

?php
    class ExamplesController extends AppController
    {
        public $name = "Examples";
        ...
        public function someAction( ){
            ...
            $url = array( 'controller' => 'examples', 'action' => 'someOtherAction' );
            $this->set( 'url', $url );
            $this->header( "refresh:5; url='".Router::url( $url )."'" );
        }
        ...
    }
?>

/app/views/examples/some_action.ctp

<p class='notice'>
    <?php echo $this->Html->link( "You are being redirected to ".Router::url( $url )." in 5 seconds. If you do not wish to wait click here.", $url ); ?>
</p>

person fakhrawy    schedule 11.10.2011    source источник
comment
Это должно сделать это, хотя и без кавычек вокруг URL-адреса. Что значит не работает? Вы получаете ошибку? Заголовки не установлены?   -  person JJJ    schedule 11.10.2011
comment
эта ошибка отправлена ​​Уведомление (8): неопределенная переменная: URL-адрес [APP\views\books\add.ctp, строка 13]   -  person fakhrawy    schedule 12.10.2011
comment
@fakhrawy Я пробовал то же самое stackoverflow.com/a/7260191/4380588, и это сработало для меня.   -  person Faiyaz Alam    schedule 04.07.2016


Ответы (1)


Вы можете сделать это с помощью команды flash.

Как и redirect(), метод flash() используется для направления пользователя на новую страницу после операции. Метод flash() отличается тем, что он показывает сообщение перед переходом пользователя на другой URL-адрес.

Первый параметр должен содержать отображаемое сообщение, а второй параметр — URL-адрес, относящийся к CakePHP. CakePHP будет отображать $message в течение $pause секунд, прежде чем перенаправить пользователя.

Если вы хотите, чтобы ваше мигающее сообщение использовало определенный шаблон, вы можете указать имя этого макета в параметре $layout.

Для флэш-сообщений на странице обязательно ознакомьтесь с методом setFlash() компонента SessionComponent.

Я думаю, что вы не можете установить сообщение, чтобы команда flash просто перенаправляла через желаемое количество секунд.

person Piotr Chabros    schedule 11.10.2011
comment
можете ли вы привести мне только один пример - person fakhrawy; 12.10.2011
comment
@fakhrawy Удовлетворил ли мой ответ ваш вопрос? Если да, пожалуйста, примите. - person Piotr Chabros; 12.10.2011