public
Description: 携帯サイトの作成支援のsymfony用プラグイン
Homepage: http://d.hatena.ne.jp/vector_xenon/
Clone URL: git://github.com/vectorxenon/sfJpMobilePlugin.git
name age message
file README Wed Jul 08 00:24:50 -0700 2009 READMEの書式をDokuWiki形式にした [YUKI Kaoru]
directory config/ Fri Jul 31 03:11:03 -0700 2009 format属性を入れるとEZの一部の機種でformがエラーになる問題があったので、利用しない... [YUKI Kaoru]
directory lib/ Fri Jul 31 02:51:18 -0700 2009 もうちょい綺麗に出力できるように [YUKI Kaoru]
directory modules/ Tue Jun 02 04:50:49 -0700 2009 first commit [YUKI Kaoru]
README
====== sfJpMobilePlugin: 携帯サイト作成支援のsymfony用プラグイン ======

===== こんなもの =====
symfonyで携帯サイトを作った際に作ったものをプラグインとして抜き出したもの。
自分の仕事で利用しているので、下位機種はもとより、中位機種の対応すら考慮されてません。
キャリア判別にはファイアーウォール側でIP判別を行っているので、IPによる判別機能はもっていません。

IPによる判別を行いたいのであれば、sfMobileIPPluginを利用したほうがいいかなと思います。

===== 実装機能 =====
  * UserAgentによるキャリア判別
  * 端末IDの取得
  * 契約者番号の取得
  * セッションへの対応
  * 絵文字の相互変換
  * テンプレートの自動振り分け

===== 設置方法 =====

==== 利用するコントローラの変更 ====

<code yaml>
#config/factories.yml
all:
  controlelr:
    class: sfJpMobileController
    
</code>

==== フィルタの追加 ====

<code yaml>
# config/filters.yml
jpmobile:
  class: sfJpMobileFilter

</code>

==== ビュークラスの変更 ====

<code yaml>
#config/app.yml
all:
  view:
    class: sfJpMobile

</code>

==== ヘルパーの追加 ====

<code yaml>
#config/factories.yml
all:
  .settings:
    standard_helpers:       [Partial, Cache, Form, JpMobile]

</code>

==== レイアウトの変更 ====

自分で宣言してもいいけど、一応DOCTYPEの切り替えパーシャルがプリセットされている。

apps/*/templates/layout.phpのDOCTYPE宣言のところをごっそり変更
<code php>
  <?php include_partial('jpmobile/dtd') ?>
</code>

==== セッションの利用 ====

<code yaml>
#config/factories.yml
all:
  storage:
    class: sfJpMobileSessionStorage
    param:
      session_name: symfony   # ここはお好きな名前で

</code>

==== テンプレートの振り分けについて ====

下記の様にテンプレートファイル名を付けることで、振り分けることが可能です。

* 通常:     indexSuccess.php
* 携帯共通: indexSuccessMobile.php
* DoCoMo:   indexSuccessDocomo.php
* KDDI:     indexSuccessKddi.php
* SoftBank: indexSuccessSoftbank.php
* PC:       indexSuccessPc.php

DoCoMoでアクセスした場合、***Docomo -> ***Mobile -> 通常 の順でテンプレートを探します。

=== 副作用 ===
レイアウトも同様に振り分けられちゃいます。