PHPUtilプラグイン(その4・ユーザーエージェントの判断)

PHPUtilプラグインでは、ユーザーエージェントを判断して、出力を分けることもできます。
PC用ページとスマートフォンページの出力を変えたい時などに便利です。

1.準備

ユーザーエージェントの判断は、DynamicMTMLプラグインのライブラリを利用して行います。
したがって、DynamicMTMLプラグインもインストールする必要があります。

2.MTPHPUserAgentタグ

MTPHPUserAgentタグは、現在のユーザーエージェントの種類を出力するテンプレートタグです。
モディファイアを何も指定しない場合、ユーザーエージェントに応じて、以下のいずれかの値が出力されます。

Android, BlackBerry, iPhone, iPad, Palm, Opera Mini, DoCoMo, AU, SoftBank, PC

「wants="Smartphone"」のモディファイアを指定した場合、上記のAndroid~Opera Miniまでのどれかに当てはまる場合、タグの値が「1」になり、それ以外の場合は「0」になります。
また、「wants="Keitai"」のモディファイアを指定した場合、上記のDocomo, AU, SoftBankのどれかに当てはまる場合、タグの値が「1」になり、それ以外の場合は「0」になります。

また、「like="〇〇"」のモディファイアを指定した場合、ユーザーエージェントの情報に「〇〇」の文字列が含まれればタグの値が「1」になり、含まれなければ「0」になります。
例えば、以下のように書くと、ユーザーエージェントに「MSIE 6.0」が含まれていればタグの値が1になり、含まれていなければ0になります。

<$mt:PHPUserAgent like="MSIE 6.0"$>

2.MTPHPIfUserAgent/MTPHPElseIfUserAgentタグ

ユーザーエージェントの種類に応じて出力を分けたい場合、MTPHPIfUserAgent/MTPHPElseIfUserAgentタグを使って、以下のように書きます。
条件はwantsまたはlikeモディファイアで指定します。

<mt:PHPIfUserAgent 条件1>
  条件1に合うユーザーエージェントの時に出力する内容
<mt:PHPElseIfUserAgent 条件2>
  条件2に合うユーザーエージェントの時に出力する内容
・
・
・
<mt:PHPElseIfUserAgent 条件n>
  条件nに合うユーザーエージェントの時に出力する内容
<mt:PHPElse>
 どの条件にも合わない時に出力する内容
</mt:PHPIfUserAgent>

例えば、スマートフォン(wants="Smartphone")/携帯(wants="Keitai")/それ以外で出力を分けたい場合、以下のように書きます。

<mt:PHPIfUserAgent wants="Smartphone">
  スマートフォンに出力する内容
<mt:PHPElseIfUserAgent wants="Keitai">
  携帯の時に出力する内容
<mt:PHPElse>
 スマートフォン/携帯以外の時に出力する内容
</mt:PHPIfUserAgent>

3.PHPUtilプラグイン関係の記事の一覧

PHPUtil関係のその他の記事は、以下のリンクから参照できます。