Найти в Дзене

CakePHP: как определить вход с мобильного устройства

cakephp 1.3
cakephp 1.3

Что бы определить загрузил пользователь страницу с мобильного устройства в CakePHP можно воспользоваться стандартным Помощником (Helper) - RequestHandler.

Если нужно определять устройство на всех страницах, подключим в AppController helper - RequestHandler:

public $helpers = array('RequestHandler');

Добавим метод:

private function isMobile() {
if ($this->RequestHandler->isMobile()) {
$this->is_mobile = true;
}
else {
$this->is_mobile = false;
}
return $this->is_mobile;
}

Вызовем метод в beforeFilter():

$this->set('is_mobile', $this->isMobile());

Теперь в View будет доступна переменная $is_mobile, а в контроллерах которые наследуют AppController, поле $this->is_mobile

П.С. Если требуется подключить Helper в определенном методе, следует сделать так:

$this->helpers[] = 'RequestHandler';