Что бы определить загрузил пользователь страницу с мобильного устройства в 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';