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

広告

関連記事

dl-1

CakePHP2系にTwigを導入

CakePHP2系でも慣れているSmartyを使おうと思ったものの、良いプラグインが見つからず断念。

記事を読む

no image

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

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

記事を読む

no image

TwitterAPI 1.1対応で困ったこと −フォロー・フォロワー一覧取得−

  TwitterのAPI1.1に2013年の3月15日までには対応しないといけません。

記事を読む

no image

github-flowを使っての開発(3) -1つのプロジェクトを複数人で開発-

今まで2回ほどgithub-flowをもとにした開発の流れを書きました。 今回は、複数人で開発をする

記事を読む

no image

jQuery Mobileでミスしたこと -JSだけ最新にしてしまってレイアウト崩れたの巻-

* 前提(CDN先) jQuery Mobileを使う場合、cssを自前のサーバにおいて、jsはC

記事を読む

no image

研究室での進捗報告の方法について、ふと思ったこと

* 以下に加筆・修正して移動しました。

記事を読む

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

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て100万DL超えしました!))し

記事を読む

no image

ViewController単位で画面の向きを変えてみる

ViewController毎に画面の向きを変えたい!ということがあったのでやってみました。 *

記事を読む

no image

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

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

記事を読む

no image

iPhoneアプリを開発してての疑問 -教えてエライ人!-

MacでiPhoneアプリを開発してて疑問に思ったのの解決してないことを列挙。 知識不足をさらけ出し

記事を読む

広告

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 ↑