ECCUBEで自動振り分けを解除する方法

この記事は2012年6月に公開したものです。ソフトウェアやサービスの仕様が変わり、現在の情報と異なる場合があります。

こんにちは。
SOHOデザイナーを目指しているAquaForest-アクアフォレスト-です。

ECCUBEではパソコンやスマホ、携帯によって自動でそれぞれのテンプレートに切り替わっています。
通常ならこのままで問題ないのですがスマホでもパソコンサイトを表示させたい場合もあるかもしれません。

その場合下記のファイルをいじれば、自動振り分けを解除できます。

ちなみにECCUBEのバージョンは2.11.5です。

data/class/SC_Display.phpの127行目付近を修正します。


    /**
     * 機種を判別する。
     *
     * SC_Display::MOBILE = ガラケー = 1
     * SC_Display::SMARTPHONE = スマホ = 2
     * SC_Display::PC = PC = 10
     *
     * @static
     * @return integer 端末種別ID
     */
    function detectDevice(){
        $nu = new Net_UserAgent_Mobile();
        $su = new SC_SmartphoneUserAgent_Ex();
        $retDevice = 0;
//        if ($nu->isMobile()) {
//            return DEVICE_TYPE_MOBILE;
//        } elseif ($su->isSmartphone()) {
//            return DEVICE_TYPE_SMARTPHONE;
//        } else {
            return DEVICE_TYPE_PC;
//        }
    }

「//」を追加します。

そうすると携帯もスマホもすべてパソコンと同じデザインになります。
携帯やスマホの表示をパソコンと同じにする方法ですので、
実際の動作を保証するものではありません。
念のため、動作確認をした方がいいかもしれません。

ちなみにスマホのみパソコン用にして、
携帯のみ自動振り分けをしたい場合にはこちら。


    /**
     * 機種を判別する。
     *
     * SC_Display::MOBILE = ガラケー = 1
     * SC_Display::SMARTPHONE = スマホ = 2
     * SC_Display::PC = PC = 10
     *
     * @static
     * @return integer 端末種別ID
     */
    function detectDevice(){
        $nu = new Net_UserAgent_Mobile();
        $su = new SC_SmartphoneUserAgent_Ex();
        $retDevice = 0;
        if ($nu->isMobile()) {
            return DEVICE_TYPE_MOBILE;
//        } elseif ($su->isSmartphone()) {
//            return DEVICE_TYPE_SMARTPHONE;
        } else {
            return DEVICE_TYPE_PC;
        }
    }


よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメント一覧 (2件)

  • ページ毎に振り分け設定は出来ますか?例えばトップとディテールはPCで、それ以外はPCとスマホの振り分け、といった具合です。

    • 石栗様
      この度はコメントありがとうございます。
      申し訳ありませんが、上記方法はすべてのページで反映されてしまい個別に設定はできません。
      お力になれなくてすいません。

コメントする

目次