EC CUBEで商品情報に項目を追加。開発ノート
目次
EC CUBEのバージョンは2.13.3です。バージョンは管理画面のシステム設定->システム情報から確認できます。
dtb_productsに項目の列を追加する
まずphpMyAdminにログインします。そしたら、dtb_productsのテーブルを選択し、構造タブを選択します。
下の方へ行き、追加したい項目の数と追加する場所を指定して実行ボタンを押します。今回はcomment7のあとに1個項目を追加します。
項目の情報を入力します。今回は名前をcomment8、データ型をTEXT、デフォルト値をNULLにして、保存するを押します。
EC CUBEのファイルを編集する
次に新しく追加した項目が管理画面と商品ページに表示されるよう、EC CUBEのファイルを編集します。
LC_Page_Admin_Products_Product.phpを編集する
場所は/data/class/pages/admin/products/LC_Page_Admin_Products_Product.phpです。300行目付近のパラメーター情報の初期化の部分に行きます。そのすぐ下の関数:lfInitFormParam中の、初めのfor分の最後に下記の一文を追加します。
1 |
$objFormParam->addParam('項目名', 'comment8', LLTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); |
次に1000行目付近の*DBに商品データを登録するの部分へ行きます。下の画像にあるように、’comment8’を追加します。
そしてそのすぐ下の部分にも、下の画像にあるように、’comment8’を追加します。
product.tplを編集する
場所は/data/Smarty/templates/admin/products/product.tplです。商品登録ページに追加した項目を表示させるために、このファイルのどこかに下記のようなコードを追加してください。
1 2 3 4 5 6 |
<th>項目名<span class="attention"> </span></th> <td> <span class="attention"><!--{$arrErr.comment8}--></span> <input type="text" name="comment8" value="<!--{$arrForm.comment8|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.comment8 != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> |
今回は商品名のすぐ上に配置しました。
confirm.tplを編集する
場所は/data/Smarty/templates/admin/products/confirm.tplです。確認ページに追加した項目を表示させるために、このファイルのどこかに下記のようなコードを追加してください。
1 2 3 4 5 6 |
<tr> <th>項目名</th> <td> <!--{$arrForm.comment8|nl2br_html}--> </td> </tr> |
今回は商品名のすぐ上に配置しました。
detail.tplを編集する
場所は/data/Smarty/templates/default/products/detail.tplです。商品詳細ページに追加した項目を表示させる場合はこのファイルのどこかに下記のようなコードを追加してください。
1 2 |
<!--★項目名★--> <h2>項目名:<!--{$arrProduct.comment8}--></h2> |
今回は商品名のすぐ上に配置しました。
ここで管理画面の商品管理>商品登録を見てみましょう。
商品名の上に追加されていることがわかります。
dtb_csvに項目の列を追加する
次にCSVファイルに項目を追加するためにdtb_csvに列を追加します。もう一度phpMyAdminにログインします。そしたら、dtb_productsのテーブルを選択し、挿入タブを選択します。下記の5項目を入力し、下の実行ボタンを押します。入れる値は次のようになります。
・noには表示タブで現在の列の数を調べ、それより1つ大きい数字を入れます。今回はすでに160列あったので161としました。
・csv_idには1を入れます。
・colには一番初めにdtb_productsに追加した列の名前を入れます。今回はcomment8です。
・disp_name項目名を入れます。
・rankには現在の項目の数より1つ大きい数字を入れます。項目の数はEC CUBEの管理画面でコンテンツ管理>CSV出力設定>商品管理で全ての項目をCSV出力する項目に追加して、商品管理>商品登録CSVから確認することができます。今回は72項目があったので73としました。
・update_dateにはカレンダーのアイコンをクリックし、作成した日を選択します。
それでは管理画面の商品管理>商品登録CSVから追加されていることを確かめましょう。
73項目に新しく項目が追加されていることがわかります。これでCSVファイルにも項目を追加することができました。
参考URL
今回参考にしたのはこちらです。デジタルポケット様