[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