機能要望 > 管理機能 > 規格の一括登録 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
netwiz |
投稿日時: 2008/10/13 22:03
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2008/9/9 居住地: 投稿: 47 |
規格の一括登録 アパレル商品を取り扱うのに、商品ごとの色の
バリエーション10種類程度あり、延べで 100種類の規格パターンがあるのですが、 それと、サイズも、商品によって、S,M,L,LL や A,B,C,D や くつ(24, 24.5, 25, 26 )の 組み合わせにすると、のべで、1000を超える 組み合わせがありますが、実際のところ、それだけの 規格組み合わせでは、規格登録画面が、レスポンス が長くなり、無応答状態になります。 この解決に、商品ごとの規格パターンを CSV で、 一括登録しておき、商品ごとに、規格の一括登録 したいのですが、画面で行うには、非常に手間隙 かかるので、よいアイデアがあれば、ご教授いただき たく、よろしく、お願いします |
netwiz |
投稿日時: 2008/10/14 12:09
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2008/9/9 居住地: 投稿: 47 |
Re: 規格の一括登録 補足ですが、admin/products/UploadCSV.php に、
function lfRegistProductClass($objQuery, $arrList, $product_id, $product_class_id) { ..... if($product_class_id == "") { // 新規登録 $where = "product_id = ?"; // 念のために既存の規格を削除 $objQuery->delete("dtb_products_class", $where, array($product_id)); $sqlval['product_id'] = $product_id; $sqlval['classcategory_id1'] = '0'; $sqlval['classcategory_id2'] = '0'; $sqlval['create_date'] = "now()"; $objQuery->insert("dtb_products_class", $sqlval); } else { ..... } } という記述があり、商品一括登録では、規格パターンの新規登録は、できない仕様になっているので困っております。 |
55eccube |
投稿日時: 2010/8/23 17:22
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2010/8/18 居住地: 東京 投稿: 222 |
Re: 規格の一括登録 随分時間が経過している投稿ですが、これでお困りの方も多そうなので回答してみます。
確かにEC-CUBEの初期仕様では、商品規格の登録をCSVから行なう事は不可能ですので admin/products/UploadCSV.phpのfunction lfRegistProductClassの中で、 dtb_products_classへのINSERTを行なう前に以下の処理を行なう必要があります。 ? 規格名(色、サイズなど)でdtb_classを検索する → 該当するレコードがあれば規格IDを取得する → 無ければ規格を登録し、規格IDを取得する ? 規格分類名(青、赤、白、S、M、Lなど)と規格IDでdtb_classcategoryを検索する → 該当するレコードがあれば規格分類IDを取得する → 無ければ規格分類を登録し、規格分類IDを取得する 商品IDと、上記の処理で取得した規格分類IDを組み合わせて dtb_products_classに登録すれば、商品の規格分類をCSVアップロードで登録することが可能です。 なお、商品規格は2つありますので、実際には?の処理と?の処理を2回ずつ行なう必要がある場合もあると思います。 もちろん、商品の規格名・規格分類名がCSVに記載されていなければなりません。 |
55eccube |
投稿日時: 2010/8/23 17:40
対応状況: −−−
|
長老 ![]() ![]() 登録日: 2010/8/18 居住地: 東京 投稿: 222 |
Re: 規格の一括登録 すいません、書き忘れがありました。
連続投稿お許しください。 ・1と2の処理の後、product_id、classcategory_id1、classcategory_id2の組み合わせで dtb_products_classを検索し、既存の商品規格の有無を調べる必要があります。 ・dtb_products_classに新規登録する際、既存の規格を削除する処理(dtb_products_classへのdelete)を コメントアウトなり削除なりしておきます。 ただし、これらの方法では、既存の商品規格は全て残ります。 既存の商品規格を残さずに、CSVに記載されている商品規格を全て登録したい場合、 ひとつの商品の規格を登録する際に、最初の一度だけdtb_products_classへのdeleteを行なう必要があります。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |