EC-CUBEの商品の登録項目内容の追加

「EC-CUBEの商品の登録項目内容の追加」

商品詳細ページに入力項目を追加したいと思います。
例として今回は家具サイトの例として「サイズ(W*D*H)」を追加します。

データベース(以下、DB)にカラムを追加する

dtb_productsに1カラム追加。
カラム名「comment7」
データ型「text」

商品詳細ページの編集

管理ページのデザイン管理>ページ詳細設定>商品詳細ページを開き、サイズを表示したい部分に、

<!–{$arrProduct.comment7}–>

と記述する。

サイズ表示しないようにするには、

<!–{$arrProduct.comment7|escape}–>

と記述する

商品登録ページの編集

data/Smarty/templates/default/admin/products/product.tplのファイルを開き、メーカーサイトの項目の下あたりに、

つづく

ヤマト家財便の追加方法1(関東発送の場合)

ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。
というか家財便のモノしか送れなくなります。
※ちなみに下記の設定は関東地区からの発送の場合になります。

管理画面-システム設定-パラメタ設定を下記に変更
DELIV_ADDR_MAX ・・・0
OPTION_DELIV_FEE ・・・1
OPTION_PRODUCT_DELIV_FEE ・・・1

まずさきにヤマト家財便のお届け地方が50コード(北海道4分割)存在するので変更。

[ec-cube既存の都道府県コード]

MySQLのDBを下記に変更
今回はmtb_prefテーブルを削除後に再度DB(下記)をid:1から50として変更追加
※先に顧客登録があると都道府県がズレます。なので初期インストール時に実行する為のもの。
(アップデート仕様のものは制作中)

mtb_constantsテーブルのid=DELIVFEE_MAXのレコードを47 -> 50に変更

/data/mtb_constants_init.phpのDELIVFEE_MAXのレコードを47 -> 50に変更
/data/cache/mtb_constants.php を削除
/data/cache/mtb_pref.php を削除

上記を削除してから「お客様情報入力」ページを開くと反映されていますとりあえずは都道府県の再登録完了。
管理画面>基本情報設定>配送設定 の中で48以降の県が増えているので一応料金を設定。(ここで設定した料金は支払い情報には反映されませんが。)
※離島・海外等の処理はまた後日

——————-

管理画面-システム設定-パラメタ設定で別のお届け先最大登録数

DELIV_ADDR_MAX に0を設定する。

商品送料を商品重量に変更する
data/Smarty/templates/admin/products/confirm.tpl
132行目 商品送料→送料ランク
135行目 円→/3辺合計

data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
320行目

data\Smarty\templates\admin\products\product.tpl
198行目付近

商品送料をランクに変更↓

送料ランク *213行目
円→/3辺合計

data/class/SC_CartSession.php

609行目付近 「配送業者の送料を加算」の次に「配送ランクを加算」を追加
ここではサイズをcmではなくmmで設定しています。

とりあえず都道府県のコード1まで記述。
残りのコードはこちらのリンクから”ヤマト家財便 発送料金
※関東地区からの発送の場合になります。

後は商品登録時に商品送料ランクの部分に三辺合計を指示するのみです。

「ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。」とか書いておきながら。
この設定では家財便のモノしか送れなくなります。なので別途で送料指定が可能なものを模索中・・・
商品種別を増やしてやればうまいこと行くかもしれないけれど・・・しかも家財便の場合代引きができないことも多いしな・・・
支払方法を増やすか支払方法でク分けるかor商品送料自体を2つにして2重チェック(?)したらいいんだろうか。

というか、書いてある「// 配送業者の送料を加算」コードの最終行(break;の次の行)に、下記追記で対応できますねw

このdefault:文は試していないのでうまくいくかどうかは検証してみます。。。