EC-CUBE 2.12系で商品情報の項目を追加する

公開日: : EC-CUBE, クリエイティブ ,

ec-cube

ここ最近でEC-CUBEのテーマ編集と若干のカスタマイズをしたのでメモです。自分はデザイン寄りなので、データベースはphpMyAdminの存在は知っている程度、phpやjsは自力では書けない、そんなレベルの制作者としての備忘録です。

WordPressだとプラグインが豊富なので、クライアント要望はプラグインで対応する事ができるんですが、EC-CUBEは日本製でECサイト用CMSって事で、全世界で使われているわけでもなく、商売系の人以外は存在自体も知らないので、プラグインも乏しく、情報も少なかったです。

今回は既に構築されているECサイトをEC-CUBEに移植するという作業だったのですが、当然、登録できる商品情報の項目数も違い、そのまますんなり移植とはいきませんでした。が、せめて現サイトにある商品ページの情報は全て掲載できるようにしてあげたかったので、商品情報の項目数を増やす事をやってみました。

とりあえずは「EC-CUBE 商品情報 追加」で検索して参考にさせて頂いたのが下記2記事です。

http://eccube-web.com/2011/08/ec-cube-211-2.html
http://tigertech.jp/ec-cube-2-12-1-商品項目追加

どちらも結構詳細に書かれている(ような気がする)んですが、自分としてはかなりつまづきまくって、上手くいくまで時間がかかったので、手順等を細かく残しておきます。

手順は大きく分けて2つ

(1)データベースに追加項目のテーブルを増やす
(2)EC-CUBEのファイルに追加記述をする

これだけです。(1)データベースへのテーブル追加はphpMyAdminで行いました。コマンドを叩くだけでできる人も沢山居ると思いますが、自分はUIが無いと無理です(笑)
(2)のファイルに追加記述ですが、修正するファイルは全部で5つ

/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
/data/class/SC_Product.php
/data/Smarty/templates/admin/products/product.tpl
/data/Smarty/templates/admin/products/confirm.tpl
/data/Smarty/templates/default/products/detail.tpl

上から、登録に関連するクラスファイル、次も同じくクラスファイル(?)、管理画面での商品登録画面、登録の確認画面、最後が商品詳細ページファイルです。正直言います。1つ目と2つ目は何をやるファイルなのかすらも良く分かってません。個人的にはプログラム&設定ファイル。と勝手に思ってます。

手順(1)データベースのテーブル追加

今回はヘテムルサーバーで開発したので、ヘテムルサーバーのphpMyAdminで行いました。phpMyAdminへのログインは流石にご自分でお調べください(笑)画面へログインしたら使用しているデータベース名を選択して、dtb_productsを探します。dtb_productsの行の「構造」をクリックします。

db1

構造画面に遷移するので、この画面を下までスクロールして、「指定のカラムの後に」を選択、セレクターは「comment6」を選択、左の「個のフィールドを追加する」は任意の数。今回は「4」にしています。そして「実行する」をクリックします。

db2

追加テーブルの設定画面に移るので、フィールドに追加したい項目名(英数半角)を入力し、種別を選択、ヌル(NULL)をnullにしました。今回追加したフィールドはcomment7〜10です。入力が終わったら、下の「保存する」をクリックします。データベースのテーブル追加は以上です。

db3

db4

手順(2)EC-CUBEファイル修正

修正する順番は先に記載したファイルリスト通りにいきます。

LC_Page_Admin_Products_Product.php の修正

修正する箇所は3カ所。

320行目あたりの function lfInitFormParam(&$objFormParam, $arrPost) 内に追加したcomment7〜10を加えます。1カ所目は「パラメーター情報の初期化」部分です。

の後に追加した4項目の記述を下記のように追加。

追加した4項目は、キャッチコピー、素材、追加説明1、2としています。2カ所目の修正箇所は990行目あたりの「// 配列の添字を定義」部分です。そこにcomment7〜10を追加です。

そしてそのすぐ後、「// INSERTする値を作成する。」の部分で、comment6の後ろに4つ追加しました。

LC_Page_Admin_Products_Product.php の修正は以上です。次、SC_Product.php

SC_Product.php の修正

修正する箇所は1カ所。「* 商品詳細の SQL を取得する.」の部分にcomment7〜10を追加します。

このファイルはこれだけ。次は商品登録テンプレートの product.tpl の修正です。

product.tpl の修正

この修正は管理画面の商品登録時の入力フォームの追加です。記述する箇所はどこでも良い気がしますが、自分は「詳細-メインコメント」の後に下記のように追加しました。

このページも追加はこれだけ。次に登録の確認画面の「confirm.tpl」の修正。

confirm.tpl の修正

ここはproducts.tplよりももっと簡単。同じように「詳細−メインコメント」の後ろに追加した項目4つの確認表示を追加。

これだけ。あと最後!商品詳細ページに追加項目を表示。detail.tpl の修正

detail.tpl の修正

このページは表示する場所は完全に任意なので表示したい場所にタグを挿入します。挿入タグは

をどこかに追記すれば追加項目が商品詳細ページで表示されます。項目があった時だけ〜といった処理をするならば、if文で記述すれば条件分岐もできました。こんな感じに

以上です!商品登録画面にはこんな感じで項目が追加されてる。はず。

regi

っつーことで個人的には時間がかかってちょっと重い修正でした。システム系の人だったら小一時間でできるんでしょうけどね、、、phpやDB周りももっと勉強したい所です。

関連記事

Google Search Consoleでサイト確認ができない場合の対処法

少し前にとある相談を受けた時のトラブルだったんですが、Google Search Conso

記事を読む

XAMPPとHosterで本番URLをローカルサイトで実現する

注:イーモバイルなどで常にネットに繋がっている人にはほぼ不要記事です。注意通りですが、常にオ

記事を読む

Google Adwords用Flashバナー(swf)の作り方

今までFlashでコンテンツを作る機会は多少ありましたが、Flashバナー、しかもGoogle

記事を読む

デザイナー視点でプログラムについて考えてみる。

最近javascriptやらphpやらを改めて勉強し直しています。大学では電子情報工学を専攻

記事を読む

最新jQueryでスマホサイトのモーダル「Reveal」を使う

この間軽く引っかかったのでメモ。最近のスマホサイトで実装することが多いモーダルウィンドウ(メニュ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright Design Office majili All Rights Reserved.