KEMPマニュアル †
目次
概要 †
KEMPのルールは大きくわけて4つです。
- 絵文字やタグはiモード用のものを使用します。
commonに置く共通テンプレートは、iモード用のものを使ってください。
絵文字はi絵文字などのツールを使って、Shift_JISコードで直接入力するか&[10進];形式で入力してください。
またテンプレートの文字コードにはShift_JISを使用してください。
ディレクトリ・ファイル構造 †
ke/ // KEMP本体
+- cache/ // キャッシュデータを格納します
+- [キャリア別Dir]
+- config/ // 設定ファイルを格納します
+- data/ // 変換テーブルなどのデータファイルを格納します
+- lib/ // KEMPプログラムソースを格納します
+- logs/ // ログを格納します
+- tpl/ // テンプレートを格納します
+- [キャリア別Dir]
public_html/ // ドキュメントルート
+- ke/ // 公開されている必要があるプログラムソースを格納します
+- ke_path.php // KEMP本体の位置を示すPHPファイルです
[キャリア別Dir]
+- common/ // 共通
+- e01/ // EZWeb(非VGA)
+- e02/ // EZWeb(VGA)
+- i01/ // iモード(非VGA)
+- i02/ // iモード(VGA)
+- v01/ // Vodafone(非VGA)
+- v02/ // Vodafone(VGA)
※ブラウザ表示領域が横220ドット以上の場合、VGAと判断しています。
チュートリアル †
既存のiモード用コンテンツを3キャリア化する方法 †
既存のiモード用コンテンツ(静的HTML)を、3キャリア対応に変更するのは結構大変です。
GIFが見れない機種のために変換しなくてはならなかったり、Vodafoneで絵文字が表示されないので1文字1文字置き換えていかなくてはなりません。
KEMPであれば、指定の箇所に設置するだけで、全て自動で変換表示されます。
既存コンテンツに手を加える必要はありません。
- KEMPをインストールする
インストール手順を参考にKEMPのインストールを行ってください。
- 拡張子をセットする
既存コンテンツHTMLの拡張子が「.htm」の場合は、「ke/config/ke_config.php」の「KE_TPL_EXT」の値を「.htm」に変更してください。
既存HTMLの拡張子が「.html」の場合は変更の必要はありません。
- 既存コンテンツを設置する
「ke/tpl/common/」以下に既存コンテンツをコピーしてください。
- 動作を確認する
ケータイから
「http://[KEMPのアドレス]/?id=[既存HTMLのトップのファイル名(拡張子を除く)]」
にアクセスすると、自動変換されたページが表示されます。
(例:既存コンテンツのトップページがtop.htmlの場合は「http://[KEMPのアドレス]/?id=top」)
クラスリファレンス †
リファレンスはこちらをご覧ください。(phpDocmenter形式です)
http://ke-tai.org/kemp/apidoc/
フィルタ †
KEMPはSmartyのフィルタ機能を利用して、出力前にケータイ向けの変換を行います。
各フィルタを実行するかどうかは設定ファイルで決められますが、文字化け回避等のため必須のフィルタもあります。
フィルタは次の順で実行されます。
- 画像フィルタ
表示できない画像を、対応フォーマットに変換し、imgタグのsrcを置き換えます。
- 入力モードフィルタ
入力モード指定(漢・a・1)の標準値指定を置き換えます。
- 絵文字SJIS→10進フィルタ
ShiftJIS絵文字を&[10進];形式に置き換えます。
- 半角カナフィルタ
全角カナを半角カナに変換します。
変換にはmb_convert_kanaを使用しています。
このフィルタを通すと、Shift_JIS絵文字は文字化けしてしまいますのであらかじめ他の絵文字形式へのエスケープが必要です。
- 絵文字色付けフィルタ
iモード向け絵文字は標準では色が付きませんが、自動でfontタグを付加しそれぞれの絵文字に適した色を付けます。
- フォームタグ改行フィルタ
iモードやVodafoneではformタグは改行されて表示されます。
しかしEZwebの場合は改行されないため、キャリア間で異なったデザインとなってしまいます。
それを修正するフィルタです。
- Aタグフィルタ
AタグをKEMPを通すように置き換えます。
これにより既存コンテンツを設置するだけで3キャリア対応とすることができます。
画面の移動について †
作成予定
KeMainクラスのmoveを使います。
詳しくはデモソースをご覧下さい。
戻るキーの抑止について †
作成途中
携帯に限ったことではありませんが、ゲームなどで戻るキーを抑止したいケースがあります。
KEMPにはPHPセッションを使い戻る機能の抑止をサポートする機能があります。
とはいってもブラウザの一機能である戻る機能を使用させないようにするのは不可能なので、
前の画面IDをセッション変数に記憶し、それを利用して直接アクセスや戻るでのアクセスを抑制します。
具体的にはじゃんけんデモのじゃんけん結果表示の部分で使用されています。
じゃんけんに負けた場合、一つ前の画面に戻って、違う手を出してみてください。
結果が決まった後は、戻るで他の手を選んでも、前回と同じ勝敗しか表示しません。
使い方はデモの該当ソースをご覧下さい。
端末IDの取得について †
端末固有IDを取得し、ユーザ登録や認証に利用することができます。
- ドコモ(FOMA): カードIDを利用(機種変更でも不変)
- ドコモ(mova): 端末シリアルを利用(機種変更で変更)
※ただし認証前にダイアログが出ます
- au: サブスクライバIDを利用(機種変更でも不変)
※事前にEZメニューからサブスクライバIDの通知設定が必要です
- Vodafone: 端末シリアルを利用(機種変更で変更)
(3Gカード入れ替えでIDが変わります)
※事前に端末のID通知設定とVodafoneメニューのID通知設定が必要です。
エラーの抑制について †
作成途中
KEMPにはPHPエラーやファイル読み込み・DBエラー等が出た場合に、エラーメッセージを抑制し、「ただいま混み合っています」という旨のメッセージを出す機能があります。
詳しくは設定定義ファイルのエラー関連の欄をご覧下さい。
設定ファイルの説明 †
作成予定
それまではクラスリファレンスか、設定ファイルを直接参照してください。(コメントが書いてあります。)