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ではなくローカルにおいて読みこませるのを推奨します。

広告

関連記事

no image

PhoneGapを触ってみた(3) -画像を扱う(Camera APIを使ってみる)-

今回は、PhoneGapのCamera APIを使って携帯のアルバムにある画像を扱ってみます。

記事を読む

no image

TestLink1.91のバグの修正方法

どうやらTestLink1.91にはバグがあるようなので、修正方法を以下に記述。 Test

記事を読む

no image

str_padとsprintfの速度

PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会

記事を読む

mixisample

iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(1)-

* やりたいこと iPhoneアプリでmixiと連携し、mixiボイスなどに文字を投稿する。 ※

記事を読む

no image

iPhoneアプリ開発 -バックグラウンド処理をした際にはまったこと-

* おきたこと 以下のメソッドを用いて、処理に時間がかかるもの(ここだとhoge)をバックグラウンド

記事を読む

Jenkins + iPhoneアプリ(3) -ipaファイルをTestFlightにアップロード-

* これまで - -[http://pplace.jp/2013/01/1192/:title=

記事を読む

no image

カレログ騒動で考えたライフログのこと

今回、カレログというAndroidアプリが話題になり騒動になってます。 というわけで、ふとカレログ

記事を読む

no image

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

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

記事を読む

SnapCrab_NoName_2012-12-1_14-44-53_No-00

アプリのためにFacebookページ作成 -会社のメールアドレスで管理する方法-

アプリを作ると、色々と宣伝をしたくなります。 宣伝の方法は色々ありますが、今回はFacebookペ

記事を読む

no image

CakePHP1.3でテストコード(1) -モデルのテスト-

CakePHP1.3ではSimpleTestを用いてテストコードを書きます。 ※CakePHP2系で

記事を読む

広告

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 ↑