バージョン選択

フォーラム

メニュー

オンライン状況

26 人のユーザが現在オンラインです。 (16 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 26
もっと...

サイト内検索

質問 > 管理機能 > 商品CSV登録のカスタマイズ方針について

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
k_i
投稿日時: 2019/5/21 17:39
対応状況: −−−
半人前
登録日: 2019/5/21
居住地: 南国
投稿: 16
商品CSV登録のカスタマイズ方針について
▼テンプレート
[EC-CUBE] 4.0.2
[レンタルサーバ] ローカル開発
[現象]

管理画面の商品CSV登録のカスタマイズ方針について確認させてください。

ProductTraitで商品にフリーエリア2という項目を追加しました。
管理画面の商品登録画面からフリーエリア2の登録ができるようになりましたし、フロントの商品詳細画面にはフリーエリア2の内容が表示できるようになりました。

さて・・・
商品を一括で登録したいために商品CSV登録にフリーエリア2の項目を対応させたいと思います。

Eventで処理を差し込もとうしたのですが、商品CSV登録で使用できるEventはありますでしょうか…見つけられませんでした。。
無いような気がしたので、CsvImportController.php 自体をカスタマイズする必要がある気がしてきました…。

以下の方法で対応を考えているのですが、正しい方法はありますでしょうか。

方法1.
src配下のCsvImportController.php を直接いじる。
→CsvImportController.php のどこをいじればフリーエリア2が取り込めるようになるかは把握できています。

方法2
app/Customize 配下にCsvImportController.phpを追加して関数を上書きする形のほうがよろしいでしょうか。
→csvProduct関数, getProductCsvHeader関数は結構長いので…


方法3
実はEventが準備されている。
→あれば教えていただきたいです。


私はこのようにカスタマイズしましたよ! なども返信をいただけると嬉しいです。
ご教授のほどよろしくお願いいたします。

※言っている意味がよくわからないなどあれば補足いたします。よろしくお願いいたします。
k_i
投稿日時: 2019/5/22 9:10
対応状況: −−−
半人前
登録日: 2019/5/21
居住地: 南国
投稿: 16
Re: 商品CSV登録のカスタマイズ方針について
方法1のカスタマイズ方法を載せておきます。

方法1. src配下の以下のソースコードをカスタマイズして対応する方法です
src/Eccube/Controller/Admin/Product/CsvImportController.php
src/Eccube/Resource/locale/messages.ja.yaml

差分はこちらで確認ください。
https://gist.github.com/seiyaan/6bb640d119e087abafe53e9a988d50f9/revisions

これで動きとしては解決なのですが、
私としてはEventがあればEventをキャッチしてそちらに処理を差し込めたら良いなと考えています…。

また、それができない場合、私の場合はsrc配下のソースを直接触りましたが、やっぱりapp/Customizeディレクトリ配下で実装したほうが良いでしょうか。

自分の中で方針を決められずにいます…。

どうか商品CSV登録をカスタマイズされた方で良い方法をご存知のかたは教えていただきたいです。
red
投稿日時: 2019/5/22 9:32
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1449
Re: 商品CSV登録のカスタマイズ方針について
とりあえずEVENTはないです。
自分は実装待ちです
https://github.com/EC-CUBE/ec-cube/issues/3575


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

k_i
投稿日時: 2019/5/22 9:43
対応状況: 解決済
半人前
登録日: 2019/5/21
居住地: 南国
投稿: 16
Re: 商品CSV登録のカスタマイズ方針について
red様

ご確認いただきありがとうございます。
やはりEventは準備されていないようですね。

issueのリンクもありがとうございます。
たしかにプラグインなどで商品CSV登録のルーティング上書きされてしまうと競合の可能性が出てきますね、うかつにルーティング上書きもできない件かしこまりました。

方法1のように直接コントローラーに実装を手動で入れるのが良さそうですね。
ご回答ありがとうございました。
kuroro0000
投稿日時: 2021/3/15 14:33
対応状況: −−−
半人前
登録日: 2021/2/8
居住地:
投稿: 30
Re: 商品CSV登録のカスタマイズ方針について
こちらのスレッドを参考に、追加項目をCSVアップロードに対応させようとしたのですが、方法1のやり方で$Product->setFreeArea2というメソッドは定義されていないと表示されてしまうのですが、差分表記されている個所以外に追記が必要な個所はありますか?

予想ではProdutct.phpにメソッドとプロパティの追記が必要とおもったのですが、これだけでは不十分なようでした。
umebius
投稿日時: 2021/3/15 14:37
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2000
Re: 商品CSV登録のカスタマイズ方針について
ご指摘のとおりです。
差分はsetFreeArea2を追加するところは言及していないので
下記を参考にテーブルへの項目追加やメソッドとプロパティを追加してみてください。
https://doc4.ec-cube.net/customize_entity


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム急ぎの案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

kuroro0000
投稿日時: 2021/3/15 14:49
対応状況: −−−
半人前
登録日: 2021/2/8
居住地:
投稿: 30
Re: 商品CSV登録のカスタマイズ方針について
ありがとうございます。
登録できました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は71,530名です
総投稿数は101,306件です

投稿数ランキング

1
seasoft
7333
2
468
2998
3
AMUAMU
2712
4
nanasess
2147
5
umebius
2000
6
yuh
1612
7
red
1449
8
h_tanaka
1080
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.