[EC-CUBE]デバイスの種類を判別する方法

EC-CUBEでカスタマイズやプラグイン開発を行う場合などに頻繁に利用することになる、アクセスしてきたデバイスの判定方法ですが、これはディスプレイ用のSC_Displayクラスに定義されています。

SC_Display_Ex::detectDevice()関数

利用する場合は以下のように継承クラスであるSC_Display_Exクラスから呼び出します。

$device_type = SC_Display_Ex::detectDevice();

定義済みのデバイスタイプリスト

EC-CUBEでは以下の4種類(1つは管理画面)が定義(define)されていて、分岐などで利用できるようになっています。

DEVICE_TYPE_MOBILE 携帯電話(ガラケー)
DEVICE_TYPE_SMARTPHONE スマートフォン(iPhone、Androidなど)
DEVICE_TYPE_PC パソコン
DEVICE_TYPE_ADMIN 管理画面へのアクセス

使用例

こんな感じでswitch文などで使えます。

switch (SC_Display_Ex::detectDevice()) {
case DEVICE_TYPE_MOBILE:
...(ガラケー用処理)...
break;
case DEVICE_TYPE_SMARTPHONE:
...(スマホ用処理)...
break;
case DEVICE_TYPE_PC:
...(PC用処理)...
break;
case DEVICE_TYPE_ADMIN:
...(管理画面用処理)...
break;
default:
break;
}

ぜひ参考にしてみてくださいね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2014-09-06