EC-CUBEでスマホページをPCページレイアウトで表示する方法

01_eccube-sppc

以前、クライアントからEC-CUBEのスマホページが見づらいからPCページレイアウトで表示したいと言われて表示を変えました。
久しぶりにEC-CUBE触ってどこ修正するのか探すの大変だったので、メモしておきます。

現在はモバイルフレンドリーなWEBサイトが推奨されるので、あまりこの設定しない方がいいんですけどね。
どうしても予算がないのでスマホ版まで対応できないとか、スマホ版は未完成だけど先行してPC版だけリリースする場合なんかに使えそう。
EC-CUBEデフォルトのスマホページだと確かに見づらいんですよねー

前置きがながくなりましたが、変更方法です。
変更対象ファイルは、以下のファイルです。

/data/class/SC_Display.php

変更する箇所はここ。

/**
 * デバイス毎の出力方法を自動で変更する、ファサード
 * Enter description here ...
 */
function setDevice($device = DEVICE_TYPE_PC){

    switch ($device){
        case DEVICE_TYPE_MOBILE:
            $this->response->setContentType("text/html");
            $this->setView(new SC_MobileView_Ex());
            break;
        case DEVICE_TYPE_SMARTPHONE:
            $this->setView(new SC_SmartphoneView_Ex());
            break;
        case DEVICE_TYPE_PC:
            $this->setView(new SC_SiteView_Ex());
            break;
        case DEVICE_TYPE_ADMIN:
            $this->setView(new SC_AdminView_Ex());
    }
    $this->deviceSeted = true;
}

DEVICE_TYPE_SMARTPHONE:の場合、new SC_SmartphoneView_Ex()を表示するように命令しているところをコメントアウトしてDEVICE_TYPE_PC:に記載のnew SC_SiteView_Ex()を表示するように変更します。

/**
 * デバイス毎の出力方法を自動で変更する、ファサード
 * Enter description here ...
 */
function setDevice($device = DEVICE_TYPE_PC){

    switch ($device){
        case DEVICE_TYPE_MOBILE:
            $this->response->setContentType("text/html");
            $this->setView(new SC_MobileView_Ex());
            break;
        case DEVICE_TYPE_SMARTPHONE:
            //$this->setView(new SC_SmartphoneView_Ex());
            $this->setView(new SC_SiteView_Ex());
            break;
        case DEVICE_TYPE_PC:
            $this->setView(new SC_SiteView_Ex());
            break;
        case DEVICE_TYPE_ADMIN:
            $this->setView(new SC_AdminView_Ex());
    }
    $this->deviceSeted = true;
}

これだけでいいんですが、EC-CUBEの仕様がわかっていないこと、階層が深いことからいつも迷子になります。

スポンサーリンク
ad
ad

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
ad