EC-CUBE 2系で商品情報をCSVで更新するとき関連商品情報が削除される

By | 2018/12/21

CSVアップロードして商品データを更新する事ができるのですが、そのCSVに「関連商品」の列が無いと、CSVをアップロードしたときにその商品に今まで登録されていた関連商品の内容が全て削除されてしまいます。

これは、CSVアップロード処理が「関連商品」に関する列がCSVに存在している事を前提に処理しているからで、関連商品がCSV列名に存在しているかどうかチェックして、列が無かったら関連商品の処理を行わないようにすることで回避できます。

LC_Page_Admin_Products_UploadCSV.php の
function lfRegistReccomendProducts の冒頭に以下のコードを挿入

        $cnt = 0;
        for ($i = 1; $i <= RECOMMEND_PRODUCT_MAX; $i++) {
            $keyname = 'recommend_product_id' . $i;
            $comment_key = 'recommend_comment' . $i;
            if (array_key_exists($keyname, $arrList) == true) $cnt++;
            if (array_key_exists($comment_key, $arrList) == true) $cnt++;
        }
        if ($cnt == 0) return;

※ 自分でコミュニティへ参加してパッチを作成するマンパワーが無いのでその予定はありません