通常のブラウザではデフォルト ビューをレンダリングするが、モバイル デバイスからのリクエストの場合はモバイル ビューをレンダリングするメソッドをコントローラで実行しようとしています。
app_controller.php 内
function beforeFilter() {
if ($this->RequestHandler->isMobile()) {
$this->is_mobile = true;
$this->set('is_mobile', true );
$this->autoRender = false;
}
}
そしてコントローラーで:
function home(){
...bunch of data grabbing stuff...
if ($this->is_mobile){
$this->autoRender = NULL;
$this->layout = 'empty';
$this->render('/mobile/home');
} else {
$this->layout = 'default';
}
}
ブラウザー (モバイル デバイスに切り替えたユーザー エージェント) でヒットすると、適切なモバイル/ホーム ビュー ファイルがレンダリングされますが、その下にある通常の非モバイル ビュー ファイルもレンダリングされます。デバッグをオンにすると、モバイル ビューからの mysql トレースの下に 2 番目の「通常の」ビュー ファイルがレンダリングされていることを除いて、異常はありません。
デフォルト ビューのレンダリングを完全に無効にしてモバイルのみを表示する方法について何か考えはありますか?