CakePHP обнаруживает, если представление не просматривается в модальном окне - PullRequest
1 голос
/ 15 июля 2011

У меня есть несколько представлений, которые будут доступны внутри модальных блоков вместо реальных страниц. В связи с этим я хочу сделать следующее:

  • Когда пользователь отправляет контент внутри модального режима, он выполняет обратную передачу, а затем закрывает модальный режим и затем возвращает пользователя на страницу, на которой он находится (ВМЕСТО ОБНОВЛЕНИЯ ВНУТРИ МОДАЛИ)

Примечание: я передам специальную функцию JS, чтобы закрыть модал, но как насчет того, чтобы модал говорил со страницей, на которой он отображается? Я использую Jquery UI Dialog, кстати

  • Если пользователь пытается получить доступ к странице в своем браузере напрямую, а не в модальном режиме, тогда он будет перенаправлен куда-то еще или ему будет показано 403

Может кто-нибудь помочь?

Ответы [ 3 ]

4 голосов
/ 15 июля 2011

Имея в виду комментарий prodigitalson, проверили ли вы документацию по обработчику запросов для CakePHP? Я не уверен, но я думаю, что это может помочь вам делать то, что вы хотите.

1 голос
/ 15 июля 2011

Если я вас правильно понял, вам может понадобиться это: http://book.cakephp.org/view/1371/isAjax

в контроллере: if ($this->requestHandler->isAjax()) { ... this is ajax request.. } else { ... non-ajax ...}

1 голос
/ 15 июля 2011

jquery и большинство других js frmaeworks будут отправлять заголовок X-Requested-with, установленный на xmlhttprequest, чтобы вы могли определить это:

if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) ||  $_SERVER['HTTP_X_REQUESTED_WITH'] != 'xmlhttprequest'){
  // redirect
}
...