Welcome !! Now 2010.03.14 01:14 (JST)

MobileConverter 1.0

[ プラグイン ]

MovileConverter は、アクセスしてきた、User Agent によって、MODxのテンプレートを切り替えるプラグインです。また、携帯端末に対応させるため、文字コードを「Shift_JIS」に変換する処理を行います(変換しない設定もできます)。

振り分けのためのUser Ageent は、独自に設定します。複数指定可能です。

また、処理をサイト全体に行う事も、親ドキュメントを指定し、処理範囲を限定させることも可能です。工夫次第で非常に利用範囲の高いプラグインです。

*このバージョン(v1.0)はPHP4.xでは、動作しません。現在4.x系でも動作するよう検証中だそうです*

参照ページ:MobileConverter

テスト環境

  • サーバ:XREA  
    • PHP 5.2.3
    • MYSQL 5.1.20-beta
  • MODx: 0.9.6.3
  • MobileConverter 1.0

ファイルの入手と導入

あ~ゆ~どりま~ [MODx] Mobile Converter より入手できます。

  1. ファイルをダウンロードし、解凍します
  2. 管理画面>リソース>リソース管理>プラグイン>プラグインの作成
  3. 以下の様式で入力し、保存します
    プラグイン名
    MobileConverter ※必ずこの名前にします※
    プラグインコード
     MobileConverter.txt の中身をそのまま、はりつけます
    システムイベント
    OnWebPageInit
    プラグイン設定
    &targetDoc=Target document IDs;string;0 &mobileCharset=Mobile charset;string;Shift_JIS &alwaysConvertCharset=Always convert charset;list;yes,no;no &userAgent1=User Agent 1;string;Docomo &switchTemplate1=Template1;string;Docomo &convertCharset1=Convert charset 1;list;yes,no;yes &userAgent2=User Agent 2;string;Vodafone,J-PHONE,SoftBank &switchTemplate2=Template 2;string;SoftBank &convertCharset2=Convert charset 2;list;yes,no;yes &userAgent3=User Agent 3;string;KDDI,UP.Browser &switchTemplate3=Template 3;string;au &convertCharset3=Convert charset 3;list;yes,no;yes
    ※上記のプラグイン設定は、1つの例です※
  4. プラグイン設定(&switchTemplate)で指定した名前で、テンプレートを作成します。上記の例ならば、それぞれ、「Docomo」「SoftBank」「au」になります。
    • 作成するテンプレートには、&「mobileCharset」で、指定したキャラクタコードセットを直接指定してください。
    • インスタンス
      <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />

&userAgent」と「&switchTemplate」 は、対になって使われます。「&userAgent」で指定した文字列を含むUser Agent が使用するテンプレートを「&switchTemplate」で指定することになります(詳しくは後述)。

パラメータ

&targetDoc

MobileConverter を有効にするドキュメントIDを指定します。親ドキュメントを指定すれば、指定した親ドキュメント下すべての子ドキュメントが対象になります。

デフォルト「サイト全体(すべてのドキュメント)=0」。

カンマ(,)で区切って複数指定可能です。

&mobileCharset

MODxのデフォルト運用文字コードを、利用したい文字コードに変換します。デフォルト「Shift_JIS」。

&alwaysConverCharset

アクセスしてきたUser Agent が、「&userAgent」で指定した User Agent とマッチしない場合にも、「&mobileCharset」で指定した、文字コードへ変換を行います。デフォルト「しない(no)」。「yes」または「no」で指定します。

&userAgent[NUM]

対象にしたい User Agent を指定します。カンマ(,)で区切って複数指定可能です。大文字小文字は区別しません。

デフォルトなし。

「&userAgent」は、後述の「&switchTemplate」「&convertCharset」と一緒に利用します。

それぞれの[NUN(数字)]を揃えることで、複数の組み合わせを指定できます。数字は必ず1から始め、また連番になっている必要があります

&switchTemplate[NUM]

&userAgent」で指定したUser Agent に読み込ませたいテンプレート(名)を指定します。

&convertCharset[NUM]

&userAgent」で指定した User Agent にマッチしたときに、文字コードの変換を行うかどうかの設定を行います。デフォルト「する(yes)」。「yes」または「no」で指定します。

インスタンス

サイト全体をMovileConverter の対象とし、PCでアクセスがあれば、PC用のテンプレートを利用(デフォルト)、携帯3キャリアでテンプレートを振り分ける。

&targetDoc=Target document IDs;string;0
&mobileCharset=Mobile charset;string;Shift_JIS
&alwaysConvertCharset=Always convert charset;list;yes,no;no
&userAgent1=User Agent 1;string;Docomo
&switchTemplate1=Template1;string;Docomo
&convertCharset1=Convert charset 1;list;yes,no;yes
&userAgent2=User Agent 2;string;Vodafone,J-PHONE,SoftBank
&switchTemplate2=Template 2;string;SoftBank
&convertCharset2=Convert charset 2;list;yes,no;yes
&userAgent3=User Agent 3;string;KDDI,UP.Browser
&switchTemplate3=Template 3;string;au
&convertCharset3=Convert charset 3;list;yes,no;yes

MobileConverterの設定例1&userAgent」、「&switchTemplate」、「&convertCharset」を必要に応じて、セットで、増減してください。

MobileConverterの設定例2また、UAを空欄にすると、そのUAでアクセスされたとき、デフォルトのテンプレートを利用します(つまり、そのセットが無効になります)。

注意点

  • このプラグインが有効なドキュメントは、ドキュメントの属性で、「キャッシュ可」にチェックしていても、強制的に、キャッシュが不可となります。従って、「&targetDoc」で「0」を指定している場合、サイト全体がキャッシュ不可となります。

要望

  • &switchTemplate」で指定したテンプレートが存在しないと、そのUAでアクセスしたとき、白紙のページが出力される。テンプレートが存在しない旨のメッセージが出ると嬉しい。

参考リンク

△ページトップ