バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > プラグイン > プラグインで追加した項目のCSV出力設定(EC-CUBE3系)

プラグイン

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rasse
投稿日時: 2016/10/18 10:42
対応状況: −−−
新米
登録日: 2016/7/5
居住地:
投稿: 8
プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
EC-CUBE3.0系にて、
プラグインから商品情報に項目を追加しました。

プラグインで、
 dtb_add_item(product_id, add_item1, add_item2)
のようなテーブルを作成し、
dtb_productとはproduct_idで繋がっている形です。

add_item1,等がCSV出力できるようdtb_csvに設定を追加したいのですが、
dtb_csvのentity_name,field_name,reference_fieldにどのような値を
設定すればよいのかわかりません。

試しに
 entity_name:Plugin\\AddItemPlugin\\Entity\\AddItem
 filed_name :id
 reference_field:(空白)
のように設定してみましたが、ヘッダー以外何も出力されませんでした。

ご存知の方いましたら、教えてください。
tacky
投稿日時: 2016/10/21 10:26
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
プラグインのServiceProviderでcsv出力のサービスを拡張して頂き。

$app['eccube.service.csv.export'] = $app->share(function () use ($app) {
          $csvService = new \Plugin\hoge\Service\PlgCsvExportService(
              $app['hoge.repository.hoge']
          );


プラグインのPlgCsvExportService.phpで取得して出力すれば表示されるかと思います。


下記もDBに追加しておく必要があります。

 entity_name:Plugin\\AddItemPlugin\\Entity\\AddItem
 filed_name :id
 reference_field:NULL
umebius
投稿日時: 2016/10/21 11:54
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
tackey 様

私もrasse様同様「既存のCSVタイプ(商品CSVなど)に追加で出力する」場合について、かなり悩んでおります。

多くのプラグインは同じように$app['eccube.service.csv.export']の拡張を考えると思うのですが
この方法だと競合して動作しなくなってしまいますよね?

複数プラグインで動く良い方法があったらご教示ください。

あと、return $csvService;必要ではないでしょうか?


$app['eccube.service.csv.export'] = $app->share(function () use ($app) {
          $csvService = new \Plugin\hoge\Service\PlgCsvExportService(
              $app['hoge.repository.hoge']
          );
return $csvService;
}


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

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

tacky
投稿日時: 2016/10/21 17:59
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
> 多くのプラグインは同じように$app['eccube.service.csv.export']の拡張を考えると思うのですが
> この方法だと競合して動作しなくなってしまいますよね?
そうですね、ですので自分達で既存のcsvに項目を追加したい場合は上記処理用のプラグインを作成しています。

受注csvに受注商品詳細を含めたい、会員csvにポイントを含めたい等で実際は複数追加しています。

$app['eccube.service.csv.export'] = $app->share(function () use ($app) {
          $csvService = new \Plugin\hoge\Service\PlgCsvExportService(
              $app['hoge.repository.hoge'],
              $app['huga.repository.huga'],
              $app['piyo.repository.piyo']
          );
return $csvService;
}


> 複数プラグインで動く良い方法があったらご教示ください。
プラグイン側でdtb_csvへ追加・出力まで処理する感じでしょうか。

> あと、return $csvService;必要ではないでしょうか?
return忘れておりました・・・。
rasse
投稿日時: 2016/10/27 9:35
対応状況: −−−
新米
登録日: 2016/7/5
居住地:
投稿: 8
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
tacky様

返事が遅くなりすみません。
ご回答ありがとうございます。

私の知識不足で申し訳ないのですが、
>プラグインのPlgCsvExportService.phpで取得して出力すれば表示されるかと思います。
の方法を思い描くことができませんでした
どこかECCUBEソース内等で参考になる箇所がありましたら、
ご教示いただけると助かります。
rasse
投稿日時: 2016/10/28 11:37
対応状況: −−−
新米
登録日: 2016/7/5
居住地:
投稿: 8
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
上記ですが、ご教示いただいた実装方法は自己解決しました。
これから試してみます。
お騒がせしました。
rasse
投稿日時: 2016/10/28 16:43
対応状況: −−−
新米
登録日: 2016/7/5
居住地:
投稿: 8
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
情報共有も兼ねて、ご報告させていただきます。

主として、以下2メソッドをオーバーライドして、
出力することはできました。

$app['eccube.service.csv.export']->getProductQueryBuilder
$app['eccube.service.csv.export']->exportData

が、特にexportDataの方が、Closureを引数にしているので
かなり力技の実装になってしまいました。

具体的には、項目追加が必要なCsvTypeのときにだけ、
exportData内でもう一度Closureを作り直しているような実装です。

もっと良い実装方法をご存知の方がいらっしゃいましたら、
教えて頂きたいです。
MPV
投稿日時: 2018/4/29 16:52
対応状況: −−−
仙人
登録日: 2011/3/27
居住地:
投稿: 309
Re: プラグインで追加した項目のCSV出力設定(EC-CUBE3系)
引用:

rasseさんは書きました:
tacky様

返事が遅くなりすみません。
ご回答ありがとうございます。

私の知識不足で申し訳ないのですが、
>プラグインのPlgCsvExportService.phpで取得して出力すれば表示されるかと思います。
の方法を思い描くことができませんでした
どこかECCUBEソース内等で参考になる箇所がありましたら、
ご教示いただけると助かります。


横レスで大変恐縮です。

当方、ロックオン様の提供されているメーカー管理プラグインで
同様の事をしようと(商品毎のメーカーIDをCSVで出力したいと思っております)苦戦している状況です。

それで、こちらの引用に書かれている内容がどうも理解できておらず、困った末こちらに書かせて頂きました。
上記の対応内容をご教授頂けないでしょうか。

環境は以下の通りです。

[EC-CUBE] 3.0.15 3.0.13から順次アップデート
[レンタルサーバ] kagoya
[OS] Linux
[PHP] 7.0.28
[データベース] MySQL 5.6.36
[WEBサーバ] Apache
[ブラウザ] Firefox/59.0.2 (64 ビット)

どうぞよろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
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.