バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > CSVに項目「クーポンコード」を追加する方法

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
aichony
投稿日時: 2020/2/11 9:11
対応状況: −−−
新米
登録日: 2018/10/25
居住地:
投稿: 3
CSVに項目「クーポンコード」を追加する方法
▼テンプレート
[EC-CUBE] 3.0.17(新規インストール)
[レンタルサーバ] Xsrver
[OS] Linux
[PHP] 7.2.27
[データベース] 7.2.27
[WEBサーバ] Apache
[ブラウザ] Chrome/79
[教えてほしい点] CSVに項目「クーポンコード」を追加する方法
[対象サイトURL] https://www.wifi-tokyo-rentalshop.com/cloudwifi/

現在、受注CSVへの出力項目追加の開発を行っております。
追加したい項目は【クーポンコード】になります。
クーポンプラグインはECCUBE提供のもの(https://www.ec-cube.net/products/detail.php?product_id=1069)を使用しています。

様々確認し、phpMyAdminに以下を追加しましたが、
entity_name: Plugin\Coupon\Entity\CouponOrder
field_name: coupon_cd
CSVは空の状態で出力されます。

こちらについて以下の記述を見つけたものの、
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=22182&forum=11
“コントローラー側の処理で準備されたデータ(Entity)に対して、どの項目を出力するかという事をdtb_csvで指定しています。”

以下について何を記述すればよいのかわかりません。。
// 受注データを検索.
$ExportCsvRow->setData($csvService->getData($Csv, $Order));
if ($ExportCsvRow->isDataNull()) {
    // 受注データにない場合は, 受注明細を検索.
    $ExportCsvRow->setData($csvService->getData($Csv, $OrderDetail));
}


また以下の記述についてもやはり、
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=21309&forum=16&post_id=89548#forumpost89548
“リンク先のプラグインのソースを確認すると
CouponOrderEntityが受注に紐づくクーポンを持っていると思われますので、
dtb_csvテーブルにCouponOrdeEntityの参照情報を追加し、
更に、上記のループでCouponOrdeEntityの取得と
$ExportCsvRow->setData(***);を追記すればCSVに項目を追加できるのではないでしょうか?”

その追記内容が判りません。

こちらは恐らく同じようなことになるかと思うのですが、知識がないためやはりわかりません。。
現在受信メール1件ずつ受注と照合する作業を行っておりかなりの時間を取られてしまっています。

もしよろしければこちら、「受注CSVにクーポンコードを出力する方法」についてご教示いただけましたら幸いです。
umebius
投稿日時: 2020/2/11 9:27
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1562
Re: CSVに項目「クーポンコード」を追加する方法
下記とほぼ同じ内容ですが少しやり方違いますね。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=23456&forum=2&post_id=96590#forumpost96590

下記で受注IDからCouponOrderを取得する方法を記載しています。
「CouponOrdeEntityの取得」というのはこのことです。
EC-CUBE3 受注IDからクーポンコードを取得する方法

$CouponOrder = ...(省略);
となっている部分ですね。

これで$CouponOrderを取得すれば、あとは下記で大丈夫かと思います。

if ($ExportCsvRow->isDataNull()) {
    // 受注データにない場合は, 受注明細を検索.
    $ExportCsvRow->setData($csvService->getData($Csv, $CouponOrder));
}


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー エンジニア募集中

aichony
投稿日時: 2020/2/11 11:25
対応状況: −−−
新米
登録日: 2018/10/25
居住地:
投稿: 3
Re: CSVに項目「クーポンコード」を追加する方法
umebius様ありがとうございます!

すみません。なかなか要を得ることができずで、、

まとめますと、

以下を参考にした記述の追加が必要になるかと思いますが
https://umebius.com/eccube/v3-coupon-code-from-order-id/
“クーポンプラグインのレポジトリを利用して次のように書けます。”

しかし、この連携のために必要なクーポンプラグインのレポジトリというのが以下内に見つかりません。。
src/Eccube/Repository

恐らくこちらは、クーポンIDを「$CouponOrder」として使える記述になるかと思いますが、これを、


/src/Eccube/Controller/Admin/Order/OrderController.php
こちらに頂いた以下記述をすれば、クーポンコードをCSVに出力という課題は解決されるのかと思いますが、
“$ExportCsvRow->setData($csvService->getData($Csv, $CouponOrder));”


もしよろしければ、レポジトリの追加ファイルについてお伺いさせていただくことはできますでしょうか。
umebius
投稿日時: 2020/2/11 11:35
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1562
Re: CSVに項目「クーポンコード」を追加する方法
レポジトリファイルはクーポンプラグイン内にあります。app/Plugin内。

プラグインが有効になっていれ$app['coupon.repository.coupon_order']はもう利用可能になっていると思いますよ。

ただOrderController.phpに書いた場合、無効の場合はエラーになると思いますのでご注意ください。


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー エンジニア募集中

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

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

統計情報

総メンバー数は59,022名です
総投稿数は95,066件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2035
4
468
1978
5
yuh
1612
6
umebius
1562
7
red
1391
8
h_tanaka
970
9
fukap
907
10
tsuji
863
11
shutta
835
12 ramrun 789
13
tao_s
783
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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