バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 商品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
居住地: 東京都
投稿: 1567
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
居住地:
投稿: 2085
Re: 商品CSV登録のカスタマイズ方針について
ご指摘のとおりです。
差分はsetFreeArea2を追加するところは言及していないので
下記を参考にテーブルへの項目追加やメソッドとプロパティを追加してみてください。
https://doc4.ec-cube.net/customize_entity


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,281名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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