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

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

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

記事を読む

list-normal

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

no image

ソーシャルボタン(Twitterのフォローボタン、Facebookのオススメボタン)を設置する

サイトにソーシャルボタンを設置しようと思いちょこっと調べてみました。 * 設置するボタン

記事を読む

setup

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

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

記事を読む

no image

Facebookがちょっとコワイ vol.1 -自分の情報をコントロールできない-

Facebookの最近の広がり方などを見ていて、少々不安を感じたので思ったことをつらつらと書いてみま

記事を読む

no image

iPhoneアプリ開発 -UIButtonのTouch Down、Touch up Inside、Touch up Outsideの使い方-

* Touch DownとTouch up Inside、Touch up Outsideの違い

記事を読む

no image

iPhoneアプリをヒットさせるために大事な5つのこと

巷にはたくさんのiPhoneアプリがたくさんあります。 そして、毎日新しいアプリがリリースされていま

記事を読む

no image

jQueryMobileでタッチ(スワイプ)してページ遷移 -Paginationプラグインの利用-

スマートフォン対応をしていてタッチしてページ遷移させたいケースがあるかと思います。 そんな時に便利

記事を読む

広告

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 ↑