EC-CUBE 2.13 系 に無料で配付されているレスポンシブテーマをインストールする方法を解説します
EC-CUBE 3系は標準テーマがオシャレなデザインなので、こちらのお話は該当しません。ご注意ください。
目次
EC-CUBE オーナーズストアのテーマはお値段が高い
EC-CUBE 2.13 系をインストールして使おうと思ったら、あまりのデザインのダサさに驚き困っている方は多いのではないでしょうか?
EC-CUBE オーナーズストアには、EC-CUBE 2.13 系用のオシャレなテーマが販売されています。
一番安くても、49,500円(54,000円の品がお値引き中なので、お得ですが。)
開発会社に頼むのに比べれば十分お安いですが、それでも、ちょっと試したい方には勇気のいる価格です。
無料のテンプレートがあるといいなぁと思っていたら、なんと!個人的に開発して、しかも公開してくれている方がいらっしゃいました。すごいです。ありがとうございます。
でも残念ながら、オーナーズストアで購入するみたいに、一発でインストールできるようにはなっていません。EC-CUBE 初心者の方には、ちょっと敷居が高いかも。
そこで、この無料テンプレートのインストール方法を解説いたします。
なお、EC-CUBE は、現在3系が主流となっているため、この無料のテンプレートもいつまで公開されているか分かりませんので、今インストールする時間のない方も、とりあえず早急にダウンロードだけはしておいた方が良いです。
えっ、3系が主流なの?と驚いた方、3系と2系の違いをまとめた記事をご参照ください。私は 2.13系が気に入っているので、3系はしばらく使わないと思います。
また、今回のお話は、すでに EC-CUBE 2.13系がインストールされている状態を前提として説明します。
インストールがまだの方は、こちらの投稿をご覧ください。
無料でできる!EC-CUBE 2.13 系 レスポンシブ化の手順
GitHub からダウンロード
テンプレートはこちらからダウンロードできます。
適当な場所にいったん保存し、解凍してください。
FTP で 該当フォルダをアップロード
解凍後の「eccube-bootstrap-master」フォルダ内は以下のようになっています。
「data/smarty/templates」内の「bootstrap」フォルダを、フォルダごと FTP で data/smarty/templates へアップロードします。
また、「html/user_data/packages」内の「bootstrap」フォルダを、フォルダごと FTP で html/user_data/packages 内へアップロードし、アップロードした方の 「sql」フォルダは必要ないので、中のファイルも含めてフォルダごと削除します。
sql フォルダの中のファイルは後で使うのでとっておいてください。
アップロード後は、次のようなファイル構成になります。
データベースにテンプレートとブロックを登録する
オーナーズストアからダウンロードするテンプレートはインストールすると自動でデータベースに登録してくれるのですが、今回は手動で登録しなければなりません。
この作業は失敗すると取り返しのつかなくなることもありますので、データベースのバックアップをとったうえで、慎重に操作してください。万一の場合でも責任は負いかねますので自己責任でお願いします m(_ _)m
以下は、エックスサーバーの場合の手順になります。
エックスサーバーのサーバーパネルにログインし、データベース内の phpmyadmin をクリックします。
「旧mySQL5.5」と「旧mySQL 5.0」がありますが、迷ったら、「旧mySQL 5.5」の方をクリックしましょう。
EC-CUBE をずいぶん前にインストールしたなぁという方は、「旧mySQL 5.0」かもしれません。
EC-CUBE 2.13系をインストールしたときに設定した「データベースユーザー」アカウントとパスワードを求められますので入力します。
忘れてしまった方は、インストール先の data/config/config.php に保存されていますので、FTP でつないでちらっと見てみてください。
左サイドから EC-CUBE 2.13系をセットアップしたデータベース名を選びます。選んだら、上のタブの中から「SQL」をクリックします。
次の SQL文を入力して、実行します。
1 |
INSERT INTO dtb_templates VALUES ("bootstrap", 10, "bootstrap", now(), now()); |
先ほどダウンロードした「eccube-bootstrap-master/html/user_data/packages/bootstrap/sql/」フォルダの中にある「update_bloc.sql」をメモ帳などで開き、全てを範囲選択してコピーします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
DELETE FROM dtb_blocposition WHERE page_id <> 0 AND device_type_id = 10; INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 1, 8, 4, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 4, 7, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 4, 5, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 1, 10, 9, 1, 1); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 2, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 2, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 2, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 3, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 3, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 3, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 4, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 4, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 4, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 5, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 5, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 5, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 6, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 6, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 6, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 7, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 7, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 7, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 8, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 8, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 8, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 9, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 9, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 9, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 10, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 10, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 10, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 11, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 11, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 11, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 12, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 12, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 12, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 13, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 13, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 13, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 14, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 14, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 14, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 15, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 15, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 15, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 16, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 16, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 16, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 17, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 17, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 17, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 18, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 18, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 18, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 19, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 19, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 19, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 20, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 20, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 20, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 21, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 21, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 21, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 22, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 22, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 22, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 23, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 23, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 23, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 24, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 24, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 24, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 25, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 25, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 25, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 26, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 26, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 26, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 27, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 27, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 27, 1, 3, 1, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 28, 1, 1, 2, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 28, 1, 2, 3, 0); INSERT INTO dtb_blocposition (device_type_id, page_id, target_id, bloc_id, bloc_row, anywhere) VALUES (10, 28, 1, 3, 1, 0); |
phpmyadmin の SQLタブのテキストエリアに流し込み、実行ボタンをクリックします。
※実行すると、今までのデザインは全て削除されますので、ご注意ください。
データベースの操作は以上です。
次に、EC-CUBE の管理画面にログインし、メニューから「システム設定」-「パラメータ設定」を選びます。
「TEMPLATE_NAME」を「bootstrap」に変更して保存します。 下の方にありますが、探せないときはブラウザの検索メニューで「TEMPLATE_NAME」を検索すると良いです。
最後に、今回導入したテーマを、レスポンシブテーマとして使うために、スマホのときにテンプレートが切り替わらないように、「data/class/SC_Display.php」を修正します。
以下は、バージョン 2.13.1 の場合で、151目付近。バージョンによって多少違うかも。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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; } |
以上で終了です。 サイトを表示してみましょう。ドキドキ。
無事できていたら、次のような画面になります。
レスポンシブになっているかどうかは、ブラウザを左右方向にドラッグして縮めていくと分かりますよー。
ハンバーガーメニューもありますね。素晴らしいです!!
長野県駒ヶ根市在住。ネットショップ構築とネットショップ運営サポートをしています。このサイトでは、ユーザーさん向けに役立つIT情報や、技術情報のメモを公開しています。詳しいプロフィール