EC-CUBEでは色んなプラグインが用意されていて中でも無料のプラグインがいくつもあり便利でカスタマイズしやすいと思いますが、プラグインを入れていくうちにプラグイン同士が競合するものも出てくるのも然り。
そこで競合同士が注意喚起としてプラグインが面に設定されるわけですが、多数存在しすぎるのもスッキリしない?気になる?ので自分で対応できることは自分でと言う事で、SQLサーバも含めて追加してみることにしました。
今回は、洋服の販売サイトの構築を行っており、商品登録時に登録画面内で「詳細-メインコメント(タグ許可)*」の欄に商品説明及びタグの使用も可能なのでテーブルタグを入れたりして洋服のサイズなんかを入れて見やすいようにと考えていましたが、いかんせん長くなりすぎて「カートに入れる」ボタンまでスクロールが必要になる商品もありスッキリしないのがはじまりでした。
そこで、EC-CUBEの無料プラグインに商品項目を増やすプラグインも現状ありにわあるのですが他の使いたいプラグインと競合してし合うと言う事と、SQLに少し手を加えたら自分でも簡単にできると考えて実行に移してみました(汗
自分に対する健忘録として、はたまた同じような事を考えている方へ向けてまとめておきます。
※ もとスマートな方法があるかもしれませんが参考までにどうぞ。
■データベース内「dtb_products」に増やしたい項目分のフィールドを作成する。
1.データベース内の左側データベース一覧より「dtb_products」を探しクリックすると右側にその内容が表示されます。
2.フィールドが幾つもありますが、一番下のところで「個のフィールドを追加する」の左側に増やしたい数を入力し、右側の実行をクリックする。
※ 今回は洋服のサイズなどの情報を8項目ほど増やしたいので「8」と入力をして「実行する」をクリック。
3.フィールド、種別、長さ/値、照合順序、属性、ヌル、デフォルト値、その他、と入力欄が出てくる。
4.横一列単位となるので必要箇所「フィールド」、「種別」、「ヌル」を入力する。
5.今回は、例として下記のとおり。。。
「フィールド」⇒ item-size
「種別」⇒ TEXT ※商品登録時、テキスト入力欄なので。。。
「ヌル」⇒ NYLL
6.入力したら、「保存する」をクリック。
以上でデーターベースでの設定は終わりです。
意外と こんだけ? 的な感じではないでしょうか?
でも、重要なのはあくまでこれからです。
データベースではあくまでも情報を保管されている場所なので、肝心なのはEC-CUBE内でこれらの情報を入力する事と、実際の商品詳細画面でこのデータベースにある情報を反映させることです。
以下はその手順です。
■EC-CUBE内のファイルを設定する。
ザックリと今回カスタマイズ(編集)するファイルは以下の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
※ 一つ一つの説明は簡易的にさせて頂きます m( . . )m
■ /data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
先ず、304行目辺りに「パラメーターの初期化」と言う項目があります。
その中の解りやすい場所で下の方に今回追加した項目を追加します。
$objFormParam->addParam('商品送料', 'deliv_fee', PRICE_LEN, 'n', array('NUM_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('ポイント付与率', 'point_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('発送日目安', 'deliv_date_id', INT_LEN, 'n', array('NUM_CHECK')); $objFormParam->addParam('販売制限数', 'sale_limit', AMOUNT_LEN, 'n', array('SPTAB_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('メーカー', 'maker_id', INT_LEN, 'n', array('NUM_CHECK')); $objFormParam->addParam('メーカーURL', 'comment1', URL_LEN, 'a', array('SPTAB_CHECK', 'URL_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('検索ワード', 'comment3', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('備考欄(SHOP専用)', 'note', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('一覧-メインコメント', 'main_list_comment', MTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('詳細-メインコメント', 'main_comment', LLTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('save_main_list_image', 'save_main_list_image', '', '', array()); $objFormParam->addParam('save_main_image', 'save_main_image', '', '', array()); $objFormParam->addParam('save_main_large_image', 'save_main_large_image', '', '', array()); $objFormParam->addParam('temp_main_list_image', 'temp_main_list_image', '', '', array()); $objFormParam->addParam('temp_main_image', 'temp_main_image', '', '', array()); $objFormParam->addParam('temp_main_large_image', 'temp_main_large_image', '', '', array());
を今回は下記のように・・・
$objFormParam->addParam('商品送料', 'deliv_fee', PRICE_LEN, 'n', array('NUM_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('ポイント付与率', 'point_rate', PERCENTAGE_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('発送日目安', 'deliv_date_id', INT_LEN, 'n', array('NUM_CHECK')); $objFormParam->addParam('販売制限数', 'sale_limit', AMOUNT_LEN, 'n', array('SPTAB_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('メーカー', 'maker_id', INT_LEN, 'n', array('NUM_CHECK')); $objFormParam->addParam('メーカーURL', 'comment1', URL_LEN, 'a', array('SPTAB_CHECK', 'URL_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('検索ワード', 'comment3', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('備考欄(SHOP専用)', 'note', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('一覧-メインコメント', 'main_list_comment', MTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('詳細-メインコメント', 'main_comment', LLTEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('save_main_list_image', 'save_main_list_image', '', '', array()); $objFormParam->addParam('save_main_image', 'save_main_image', '', '', array()); $objFormParam->addParam('save_main_large_image', 'save_main_large_image', '', '', array()); $objFormParam->addParam('temp_main_list_image', 'temp_main_list_image', '', '', array()); $objFormParam->addParam('temp_main_image', 'temp_main_image', '', '', array()); $objFormParam->addParam('temp_main_large_image', 'temp_main_large_image', '', '', array()); // 追加項目 $objFormParam->addParam('商品-サイズ', 'item_size', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-カラー', 'item_color', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-バスト', 'item_buste', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-肩幅', 'item_katahaba', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-袖丈', 'item_sodetake', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-着丈', 'item_kitake', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-平均身長', 'item_taille', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品-仕様', 'item_spec', LLTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
次に同ファイル内の1000行目付近(上記で9行増やしたので1009行目付近)にある「DBに商品データを登録する」欄にデーターベースで設定したフィールド名を追加。
// 配列の添字を定義 $checkArray = array('name', 'status', 'main_list_comment', 'main_comment', 'deliv_fee', 'comment1', 'comment2', 'comment3', 'comment4', 'comment5', 'comment6', 'sale_limit', 'deliv_date_id', 'maker_id', 'note'); $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray);
下記のように・・・
// 配列の添字を定義 $checkArray = array('name', 'status', 'main_list_comment', 'main_comment', 'deliv_fee', 'comment1', 'comment2', 'comment3', 'comment4', 'comment5', 'comment6', //追加項目 'item_size', 'item_color', 'item_buste','item_katahaba', 'item_sodetake', 'item_kitake','item_taille', 'item_spec', //追加項目ここまで 'sale_limit', 'deliv_date_id', 'maker_id', 'note'); $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray);
※ 無難に途中にタグを挿めました(汗
続いて上記の「// 配列の添字を定義」の項目のすぐ下にある「// INSERTする値を作成する。」項目にまたまた追加する。
// INSERTする値を作成する。 $sqlval['name'] = $arrList['name']; $sqlval['status'] = $arrList['status']; $sqlval['main_list_comment'] = $arrList['main_list_comment']; $sqlval['main_comment'] = $arrList['main_comment']; $sqlval['comment1'] = $arrList['comment1']; $sqlval['comment2'] = $arrList['comment2']; $sqlval['comment3'] = $arrList['comment3']; $sqlval['comment4'] = $arrList['comment4']; $sqlval['comment5'] = $arrList['comment5']; $sqlval['comment6'] = $arrList['comment6']; $sqlval['deliv_date_id'] = $arrList['deliv_date_id']; $sqlval['maker_id'] = $arrList['maker_id']; $sqlval['note'] = $arrList['note']; $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; $sqlval['creator_id'] = $_SESSION['member_id']; $arrRet = $objUpFile->getDBFileList(); $sqlval = array_merge($sqlval, $arrRet);
下記のように・・・
// INSERTする値を作成する。 $sqlval['name'] = $arrList['name']; $sqlval['status'] = $arrList['status']; $sqlval['main_list_comment'] = $arrList['main_list_comment']; $sqlval['main_comment'] = $arrList['main_comment']; $sqlval['comment1'] = $arrList['comment1']; $sqlval['comment2'] = $arrList['comment2']; $sqlval['comment3'] = $arrList['comment3']; $sqlval['comment4'] = $arrList['comment4']; $sqlval['comment5'] = $arrList['comment5']; $sqlval['comment6'] = $arrList['comment6']; $sqlval['deliv_date_id'] = $arrList['deliv_date_id']; $sqlval['maker_id'] = $arrList['maker_id']; $sqlval['note'] = $arrList['note']; $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; $sqlval['creator_id'] = $_SESSION['member_id']; $arrRet = $objUpFile->getDBFileList(); $sqlval = array_merge($sqlval, $arrRet); //追加項目 $sqlval['item_size'] = $arrList['item_size']; $sqlval['item_color'] = $arrList['item_color']; $sqlval['item_buste'] = $arrList['item_buste']; $sqlval['item_katahaba'] = $arrList['item_katahaba']; $sqlval['item_sodetake'] = $arrList['item_sodetake']; $sqlval['item_kitake'] = $arrList['item_kitake']; $sqlval['item_taille'] = $arrList['item_taille']; $sqlval['item_spec'] = $arrList['item_spec'];
■ /data/class/SC_Product.php
618行目辺りにある「商品詳細の SQL を取得する」にデータベースに追加した情報を取得するためのタグを追加します。
/** * 商品詳細の SQL を取得する. * * @param string $where_products_class 商品規格情報の WHERE 句 * @return string 商品詳細の SQL */ public function alldtlSQL($where_products_class = '') { if (!SC_Utils_Ex::isBlank($where_products_class)) { $where_products_class = 'AND (' . $where_products_class . ')'; } /* * point_rate, deliv_fee は商品規格(dtb_products_class)ごとに保持しているが, * 商品(dtb_products)ごとの設定なので MAX のみを取得する. */ $sql = <<< __EOS__ ( SELECT dtb_products.product_id ,dtb_products.name ,dtb_products.maker_id ,dtb_products.status ,dtb_products.comment1 ,dtb_products.comment2 ,dtb_products.comment3 ,dtb_products.comment4 ,dtb_products.comment5 ,dtb_products.comment6 ,dtb_products.note ,dtb_products.main_list_comment ,dtb_products.main_list_image ,dtb_products.main_comment ,dtb_products.main_image ,dtb_products.main_large_image ,dtb_products.sub_title1 ,dtb_products.sub_comment1 ,dtb_products.sub_image1 ,dtb_products.sub_large_image1 ,dtb_products.sub_title2 ,dtb_products.sub_comment2 ,dtb_products.sub_image2 ,dtb_products.sub_large_image2 ,dtb_products.sub_title3 ,dtb_products.sub_comment3 ,dtb_products.sub_image3 ,dtb_products.sub_large_image3 ,dtb_products.sub_title4 ,dtb_products.sub_comment4 ,dtb_products.sub_image4 ,dtb_products.sub_large_image4 ,dtb_products.sub_title5 ,dtb_products.sub_comment5 ,dtb_products.sub_image5 ,dtb_products.sub_large_image5 ,dtb_products.sub_title6 ,dtb_products.sub_comment6 ,dtb_products.sub_image6 ,dtb_products.sub_large_image6 ,dtb_products.del_flg ,dtb_products.creator_id ,dtb_products.create_date ,dtb_products.update_date ,dtb_products.deliv_date_id
下記のように
/** * 商品詳細の SQL を取得する. * * @param string $where_products_class 商品規格情報の WHERE 句 * @return string 商品詳細の SQL */ public function alldtlSQL($where_products_class = '') { if (!SC_Utils_Ex::isBlank($where_products_class)) { $where_products_class = 'AND (' . $where_products_class . ')'; } /* * point_rate, deliv_fee は商品規格(dtb_products_class)ごとに保持しているが, * 商品(dtb_products)ごとの設定なので MAX のみを取得する. */ $sql = <<< __EOS__ ( SELECT dtb_products.product_id ,dtb_products.name ,dtb_products.maker_id ,dtb_products.status ,dtb_products.comment1 ,dtb_products.comment2 ,dtb_products.comment3 ,dtb_products.comment4 ,dtb_products.comment5 ,dtb_products.comment6 ,dtb_products.note ,dtb_products.main_list_comment ,dtb_products.main_list_image ,dtb_products.main_comment ,dtb_products.main_image ,dtb_products.main_large_image ,dtb_products.sub_title1 ,dtb_products.sub_comment1 ,dtb_products.sub_image1 ,dtb_products.sub_large_image1 ,dtb_products.sub_title2 ,dtb_products.sub_comment2 ,dtb_products.sub_image2 ,dtb_products.sub_large_image2 ,dtb_products.sub_title3 ,dtb_products.sub_comment3 ,dtb_products.sub_image3 ,dtb_products.sub_large_image3 ,dtb_products.sub_title4 ,dtb_products.sub_comment4 ,dtb_products.sub_image4 ,dtb_products.sub_large_image4 ,dtb_products.sub_title5 ,dtb_products.sub_comment5 ,dtb_products.sub_image5 ,dtb_products.sub_large_image5 ,dtb_products.sub_title6 ,dtb_products.sub_comment6 ,dtb_products.sub_image6 ,dtb_products.sub_large_image6 ,dtb_products.del_flg ,dtb_products.creator_id ,dtb_products.create_date ,dtb_products.update_date ,dtb_products.deliv_date_id //追加項目 ,dtb_products.item_size ,dtb_products.item_color ,dtb_products.item_buste ,dtb_products.item_katahaba ,dtb_products.item_sodetake ,dtb_products.item_kitake ,dtb_products.item_taille ,dtb_products.item_spec //追加項目追加項目ここまで
これまではデータベース内及びEC-CUBE側でのデータベースとのやり取りに関する設定(編集)を行ってきましたが、
ここからは主に、追加項目に関する入力欄や商品詳細ページへの反映に関する設定(編集)を行っていきます。
■ /data/Smarty/templates/admin/products/product.tpl
商品登録ページに今回追加した商品項目の入力欄を追加します。
今回はあえて商品登録時の流れに沿って商品内容を追加したかったので商品登録ページ内の「メーカー」、「メーカーURL」入力欄の下に追加しました。
ご自身の都合似合わせて参考にしてください。
<tr> <th>メーカーURL</th> <td> <span class="attention"><!--{$arrErr.comment1}--></span> <input type="text" name="comment1" value="<!--{$arrForm.comment1|h}-->" maxlength="<!--{$smarty.const.URL_LEN}-->" size="60" class="box60" style="<!--{$arrErr.comment1|sfGetErrorColor}-->" /> <span class="attention"> (上限<!--{$smarty.const.URL_LEN}-->文字)</span> </td> </tr>
下記のように・・・
<tr> <th>メーカーURL</th> <td> <span class="attention"><!--{$arrErr.comment1}--></span> <input type="text" name="comment1" value="<!--{$arrForm.comment1|h}-->" maxlength="<!--{$smarty.const.URL_LEN}-->" size="60" class="box60" style="<!--{$arrErr.comment1|sfGetErrorColor}-->" /> <span class="attention"> (上限<!--{$smarty.const.URL_LEN}-->文字)</span> </td> </tr> <!-- //追加項目 --> <tr> <th>商品-サイズ</th> <td> <span class="attention"><!--{$arrErr.item_size}--></span> <input type="text" name="item_size" value="<!--{$arrForm.item_size|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_size != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-カラー</th> <td> <span class="attention"><!--{$arrErr.item_color}--></span> <input type="text" name="item_color" value="<!--{$arrForm.item_color|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_color != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-バストサイズ</th> <td> <span class="attention"><!--{$arrErr.item_buste}--></span> <input type="text" name="item_buste" value="<!--{$arrForm.item_buste|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_buste != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-肩幅</th> <td> <span class="attention"><!--{$arrErr.item_katahaba}--></span> <input type="text" name="item_katahaba" value="<!--{$arrForm.item_katahaba|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_katahaba != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-袖丈</th> <td> <span class="attention"><!--{$arrErr.item_sodetake}--></span> <input type="text" name="item_sodetake" value="<!--{$arrForm.item_sodetake|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_sodetake != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-着丈</th> <td> <span class="attention"><!--{$arrErr.item_kitake}--></span> <input type="text" name="item_kitake" value="<!--{$arrForm.item_kitake|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_kitake != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-身長</th> <td> <span class="attention"><!--{$arrErr.item_taille}--></span> <input type="text" name="item_taille" value="<!--{$arrForm.item_taille|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_taille != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <tr> <th>商品-仕様</th> <td> <span class="attention"><!--{$arrErr.item_spec}--></span> <input type="text" name="item_spec" value="<!--{$arrForm.item_spec|h}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.item_spec != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->" size="60" class="box60" /> <span class="attention"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> <!-- //追加項目ここまで -->
上記の商品登録ページの後に続く確認ページ内にも追加します。
■ /data/Smarty/templates/admin/products/confirm.tpl
<tr> <th>メーカーURL</th> <td style="word-break: break-all;"> <!--{$arrForm.comment1|h}--> </td> </tr>
下記のように・・・
<tr> <th>メーカーURL</th> <td style="word-break: break-all;"> <!--{$arrForm.comment1|h}--> </td> </tr> <!-- //追加項目 --> <tr> <th>商品-サイズ</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-カラー</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-バストサイズ</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-肩幅</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-袖丈</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-着丈</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-身長</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <tr> <th>商品-仕様</th> <td> <!--{$arrForm.item_size|h}--> </td> </tr> <!-- //追加項目ここまで -->
そして仕上げに商品詳細ページに反映(表示)される様にします。
■ /data/Smarty/templates/default/products/detail.tpl
基本的には下記のタグを埋めたら表示されますので、
例)商品サイズの場合
<!--{$arrProduct.item_size|h}-->
商品詳細ページソースの中でご自身のレイアウトに合わせて設置してみて下さい。
※色々レイアウト自体を弄っているので参考タグを表示しても訳がわからないと思いますので省略します(汗
いかがでしたか?
是非参考にしてみて下さい。