EC-CUBEで携帯・スマートフォンテンプレートを無効化する方法

EC-CUBEには標準でスマートフォンや携帯用のテンプレートが用意されていて、それぞれの端末でアクセスすると自動でテンプレートが切り替わる仕組みが用意されています。

例えば、こちらの EC-CUBE 公式デモサイトも、スマートフォンで表示させるとこのような表示に切り替わります。

EC-CUBE

これはこれで便利な機能なんですが、レスポンシブデザインなどでテンプレートを一つに統一するなど、この機能が必要ないケースもあります。

そんな時、携帯・スマートフォンテンプレートを無効化して、常にPC用のテンプレートで表示されるようにする方法です。

EC-CUBEは Ver 2.13.2の環境です。

カスタマイズ方法

ネット上でもいくつかやり方が見つかりますが、EC-CUBE 本体のクラス data/class/SC_Display.php を直接書き換えてる方法が比較的多いようです。

これだと EC-CUBE バージョンアップの際に問題が起きるとちょっと嫌なので、SC_Display.php を継承した SC_Display_Ex をカスタマイズしてみます。SC_Display_Ex.php に以下のコードを追加します。

data/class_extends/SC_Display_Ex.php

[php]
public static function detectDevice($reset = FALSE)
{
// 常にPCテンプレートで表示させる
SC_Display_Ex::$device = DEVICE_TYPE_PC;
return SC_Display_Ex::$device;
}
[/php]

detectDevice() は継承元の SC_Display.php で、アクセス元の端末を判定してテンプレートを切り替えるという処理を行っているメソッドですが、その処理を書き換えているわけです。

これで、常に PC テンプレートで表示されるようになります。お試しください。

この記事を書いた人

ko31

岩手県出身、群馬県在住のフリーランスWeb系エンジニアです。
Webシステム・アプリ、Webサービス、WordPress開発等を雑多にこなしています。バンカラ応援好きの振り飛車党。
PHP / WordPress / 高校野球 / 将棋 / WordPress / ブログ / 食べること / 二児の父親

>>もっと詳しいプロフィールはこちら

お仕事のご相談・お問い合わせ

当ブログの管理人は、Gosign(ゴーサイン)という屋号でフリーランス Web エンジニアとして活動しています。
ブログの掲載内容はもちろん、Web サイト制作や Web アプリケーション開発などのご相談・ご質問がありましたら、どうぞお気軽にお問い合わせください!

合わせて読みたい記事