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

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

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

記事を読む

MacでRuby on Railsの開発環境構築 -Apacheで動かす-

* 環境 -MacBook Air MD231J/A -Mac OS X バージョン10.8.2

記事を読む

no image

CakePHPのモデルのキャッシュではまった -新しく追加したカラムに値が入らない-

タイトルのとおり、ちょこっとCakePHPではまったのでメモ。 * 作業内容 -MySQLで、ある

記事を読む

no image

Androidアプリ開発 -画像を加工してセピア色にしてみる-

* やりたいこと ギャラリーから選んだ画像を加工してセピア色にしたい * ソース ** 画像を取得

記事を読む

no image

CakePHP1.3でテストコード(3) -ENUM型が使えない-

cakePHP1.3でのSimpleTestを使ったテストケースの第3回目。 今回は、テーブル構成で

記事を読む

iPhoneアプリ開発 芳名帳アプリ作成(4) -設定準備-

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

記事を読む

setup

Google Appsで独自ドメインメールの利用

独自ドメインでメアドを持ちたかったのでGoogle Appsを利用してみました。 その各種設定の覚

記事を読む

iPhoneアプリ開発 芳名帳アプリ作成(2) -記帳画面作成-

* 今までの流れ - * 画面構成 今回の芳名帳アプリは以下の画面で構成しています。 -

記事を読む

Jenkins + スマホアプリ(1) -スマホアプリ用CI環境を作ってみよう-

前回までは、iPhoneアプリでのCI環境でした。 TestFlightがAndroidアプリにも

記事を読む

no image

jQuery Mobileでdata-role=headerを使うときの注意点 -勝手にタイトルが変更される件-

* 現象 +headタグでtitleタグで文字列(A)を記述している +data-role=he

記事を読む

広告

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 ↑