読者です 読者をやめる 読者になる 読者になる

肉球ふみふみ

WEB and DTP Designing Producer's Diary / LOVE: Camera/DJ/Cat/Car/Jazz/SCOTLAND/

ECCUBE2.13.1でのスマフォテンプレートの無効化/PCテンプレートへの統一

ECCUBEでこれまでスマートフォンでのデザインを適用させてたのですが、クライアントから「PCデザインヘ統一させたい」との要望があり、今回スマートフォン用のテンプレートを無効化してPCテンプレートに統一させました。

スマートフォンでPC表示は不便では?時代に逆行では?と思いがちですが、実はこのような希望をされるクライアントが意外と多いです。

 

理由は様々ですが、スマフォ用は確かに画面に表示されている情報は文字もレイアウトも大きく分かりやすいのですが、下にある情報は下までスクロールして初めて目にすることになります。

 

そこでクライアントとしては、まず全体像をパッと見せ、ユーザーが興味のあるものをユーザーに拡大して見てもらう流れの方が良いと判断したものと思われます。

それにPCと見た目を統一することによって、数多く掲載している画面いっぱいの情報の掲載プライオリティをPC版と同じ基準にしたいということもあるようです。

 

今回のクライアントはECCUBEということで通販サイトですので、一般の情報サイトとはまた勝手が異なる面もあるかと思いますが、 皆様のところではいかがでしょうか。

一律にスマフォ用サイトがあることが必ずしも正しいかは難しいことかも知れませんね。

 

今回改編した箇所は以下です。

「data/class/」内にあるSC_Display.php の140行より

    /**

     * 端末種別を判別する。

     *

     * SC_Display::MOBILE = ガラケー = 1

     * SC_Display::SMARTPHONE = スマホ = 2

     * SC_Display::PC = PC = 10

     *

     * @static

     * @param          $reset boolean

     * @return integer 端末種別ID

     */

    public static function detectDevice($reset = FALSE)

    {

        if (is_null(SC_Display_Ex::$device) || $reset) {

            $nu = new Net_UserAgent_Mobile();

            $su = new SC_SmartphoneUserAgent_Ex();

           if ($nu->isMobile()) {

                SC_Display_Ex::$device = DEVICE_TYPE_MOBILE;

            } elseif ($su->isSmartphone()) {

                SC_Display_Ex::$device = DEVICE_TYPE_SMARTPHONE;

            } else {

                SC_Display_Ex::$device = DEVICE_TYPE_PC;

            }

        }

 

        return SC_Display_Ex::$device;

    }

 

 

これをスマフォ用ユーザーエージェント切り替えについての部分をコメントアウト

  /**

     * 端末種別を判別する。

     *

     * SC_Display::MOBILE = ガラケー = 1

     * SC_Display::SMARTPHONE = スマホ = 2

     * SC_Display::PC = PC = 10

     *

     * @static

     * @param          $reset boolean

     * @return integer 端末種別ID

     */

    public static function detectDevice($reset = FALSE)

    {

        if (is_null(SC_Display_Ex::$device) || $reset) {

            $nu = new Net_UserAgent_Mobile();

            $su = new SC_SmartphoneUserAgent_Ex();

//           if ($nu->isMobile()) {

//                SC_Display_Ex::$device = DEVICE_TYPE_MOBILE;

//            } elseif ($su->isSmartphone()) {

//                SC_Display_Ex::$device = DEVICE_TYPE_SMARTPHONE;

//            } else {

                SC_Display_Ex::$device = DEVICE_TYPE_PC;

//            }

        }

        return SC_Display_Ex::$device;

    }

 

これでPCと同じテンプレートを使用するよう変更されました。