CakePHP1.3でスマートフォン対応

公開日: : 最終更新日:2014/04/20 IT, Smarty


CakePHP1.3でスマートフォン対応のためにやったことをメモしておきます。

 環境

 やりたいこと

スマートフォンからのアクセスだった場合、通常とは異なるviewを読み込ませる。

  1. スマートフォンのアクセスと判定する(判定に関する詳細は今回の記事では述べません)
  2. 通常と異なるviewを読み込ませる(今回の記事はこの話がメインです)

 やったこと

CakePHPのテーマ機能を利用します。

 /app/app_controller.phpを用意

app_controller.phpの中身

class AppController extends Controller
{
    public $view = 'Smarty.Smarty'; //Smarty用
    function beforeFilter()
    {
        /*
         * 省略(やりたいことの1の箇所)
         * ユーザーエージェントからスマートフォンの判定をして$this->smartphoneに真偽値を入れます。
        */
        if ($this->smartphone) {
            $this->theme = 'sp';
        }
    }
}

 スマートフォン用のviewを用意

表示するviewとして以下を用意します。
/app/views/themed/sp(※)/
(※)$this->themeに入れた値

通常の表示場所が、以下の場合
/app/views/main/index.html
スマートフォン用のviewの場所は以下です。
/app/views/themed/sp/main/index.html

もし、スマートフォン用のviewをまだ作っていない場合は通常の表示場所が表示されます。

 (おまけ)jQuery Mobileの適用

レイアウト用の以下のファイルでjQuery Mobile用にcssとjsファイルを読み込ませます。
/app/views/themed/sp/layouts/default.html

/* 省略 */
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script>
/* 省略 */

※jQuery MobileのcssファイルはCDNではなくローカルにおいて読みこませるのを推奨します。

広告

関連記事

WordPressプラグイン「WP Hatena Notation」にPullRequestを投げた話

WordPressではてな記法が利用できる「WP Hatena Notation」を重宝しています。

記事を読む

no image

Capistranoで簡単デプロイ -開発用サーバー編-

cakePHPを使って開発しているサービス()で、リリース周りを楽にしたいなと思いCapistran

記事を読む

no image

iPhoneアプリ開発 −2本指で画像を移動させる−

* やりたいこと 表示させている画像(UIImageView)を2本指で移動させたい。 ※1本指は別

記事を読む

no image

Androidアプリ開発 -ギャラリーから選んだ画像のサムネイルを取得-

* やりたいこと +ボタンをクリックしてギャラリーを表示。 +ギャラリーで画像を選んだら、その画像の

記事を読む

構成

定期的にデータ取得のためにCakePHP1.3でシェル機能を利用

定期的にデータを取得する行為をするために、はじめてシェル機能を使ってみたのでメモ。 * ス

記事を読む

no image

iPhoneアプリ開発 -iOS6から変わったこと-

Deployment Targetを5.1にしていた時には気がつかなかったのですが、iOS6になって

記事を読む

list-normal

jQuery Mobileのリストの見た目をちょっとカスタマイズ -覚書-

jQuery Mobileを使えば簡単にスマートフォン対応できる言えば出来るのですが、少しでもカスタ

記事を読む

no image

iPhoneアプリ開発 芳名帳アプリ作成(6) -写真に保存-

* 今までの流れ - -[http://pplace.jp/2013/06/1531/:title=

記事を読む

Jenkins + DeployGate(1) -DeployGateでAndroidアプリ開発-

TestFlight for Androidが発表されて1ヶ月ぐらいたちますが、音沙汰がありません。

記事を読む

no image

Facebookがちょっとコワイ vol.2 -本当にあなたはあなたなの?-

以下のブログを読んで、さらにコワイと思ったFacebook。 あなたが登録している「友

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑