Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> EC-Cube3 -> 【EC-CUBE3】商品登録CSVの項目をプラグイン無しで変更する

【EC-CUBE3】商品登録CSVの項目をプラグイン無しで変更する


EC-CUBE3で、商品登録 CSVのファイルフォーマットを、
プラグインを使わずに修正するためのメモです。

ファイルの場所:
/src/Eccube/Controller/Admin/Product/CsvImportController.php

1126行目:
下記の情報を、必要に合わせて変更したり追記したりすればオッケーです。

private function getProductCsvHeader()
{
return array(
'商品ID' => 'id',
'公開ステータス(ID)' => 'status',
'商品名' => 'name',
'ショップ用メモ欄' => 'note',
'商品説明(一覧)' => 'description_list',
'商品説明(詳細)' => 'description_detail',
'検索ワード' => 'search_word',
'フリーエリア' => 'free_area',
'商品削除フラグ' => 'product_del_flg',
'商品画像' => 'product_image',
'商品カテゴリ(ID)' => 'product_category',
'タグ(ID)' => 'product_tag',
'商品種別(ID)' => 'product_type',
'規格分類1(ID)' => 'class_category1',
'規格分類2(ID)' => 'class_category2',
'発送日目安(ID)' => 'deliveryFee',
'商品コード' => 'product_code',
'在庫数' => 'stock',
'在庫数無制限フラグ' => 'stock_unlimited',
'販売制限数' => 'sale_limit',
'通常価格' => 'price01',
'販売価格' => 'price02',
'送料' => 'delivery_fee',
'商品規格削除フラグ' => 'product_class_del_flg',
);
}


なお、「商品ID」を「ProductID」に変更する場合などは、CsvImportController.php内にハードコーディングされている箇所を、必要に応じて修正します。

例えば、$row["商品ID"]と書かれてある部分を、$row["ProductID"]に一括置換すればおkです。

ちなみに、ECCubeで元々無かった項目を追加する場合は、これとは別に、項目追加用のコードを記述する必要があります。

例えば、あらかじめ、src/Eccube/Entity/Product.phpにて、

    private $product_name;
    public function getProductName(){return $this->product_name;}
    public function setProductName($product_name){$this->product_name = $product_name; return $this;}


のような形で、setProductName()メソッドを追加しておいたと仮定しましょう。

その場合は、CsvImportController.phpの133行目あたりに、下記のようなコードを追加します。

$vars = array(
    "製品名" => "setProductName",
);
foreach($vars as $key => $value){
    if($row[$key] != ""){
        $Product->$value(Str::trimAll($row[$key]));
    }
}

※getProductCsvHeader()のarray()内に、"製品名" => 'product_name'のような記述を追加しておく必要があります。


上記を実行すると、CSVのデータに製品名が入力されてある場合に、$Product->setProductName(trim($row[$key]))が実行されます。

この記事の最終更新日:2018/02/21
最初に記事を書いた日:2018/02/16

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> EC-Cube3 -> 【EC-CUBE3】商品登録CSVの項目をプラグイン無しで変更する