バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注一覧のCSVの出力に項目を追加したいです。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hiderin215
投稿日時: 2022/9/9 17:58
対応状況: −−−
半人前
登録日: 2022/3/23
居住地:
投稿: 11
受注一覧のCSVの出力に項目を追加したいです。
▼テンプレート
[EC-CUBE] EC-CUBE4.0.6-p1
[レンタルサーバ] Xserver
[OS] Linux
[PHP] 7.4.28
[データベース] MySQL 5.7.38
[WEBサーバ] Apache
[ブラウザ] Chrome 105.0.5195.102
[導入プラグインの有無]
商品おすすめ順並び替えプラグイン for EC-CUBE4 1.1.0 ProductDisplayRank4
Securitychecker4 4.1.1 Securitychecker4
クロネコヤマト カード・後払い一体型決済サービス 1.4.0 YamatoPayment4
[カスタマイズの有無] 無

[現象]
受注一覧のCSVの出力項目に「送り状種類」と「クール区分」を追加したいです。
販売業者名と販売種別に応じて「送り状種類」に0~9、「クール区分」に0~2の数値が入るようにしたいです。

どのファイルを修正するのか全く検討がつきません。
ご教授ください。
よろしくお願い致します。
sfujiya
投稿日時: 2022/9/12 11:02
対応状況: −−−
常連
登録日: 2018/12/20
居住地:
投稿: 54
Re: 受注一覧のCSVの出力に項目を追加したいです。
CSV出力はdtb_csvのレコードを参照しているので、dtb_csvにcsv_type_idが3で、出力したいカラムのfield_nameを設定したレコードの追加が必要になるかと思います。
hiderin215
投稿日時: 2022/9/12 19:50
対応状況: −−−
半人前
登録日: 2022/3/23
居住地:
投稿: 11
Re: 受注一覧のCSVの出力に項目を追加したいです。
ご回答ありがとうございます。
dtb_csvにレコードを追加すると「クール区分」と「送り状種類」のカラムが追加できました。
ありがとうございます。

ただ、今の所、CSV出力すると空白で表示されます。
追加したカラムに任意の数値を表示させるにはどうしたらよいでしょうか?
ご教授ねがいます。
sfujiya
投稿日時: 2022/9/13 6:46
対応状況: −−−
常連
登録日: 2018/12/20
居住地:
投稿: 54
Re: 受注一覧のCSVの出力に項目を追加したいです。
「クール区分」と「送り状種類」
上記の情報を持っているEntityをdtb_csv.entity_nameに
Entityに定義しているメソッド名をスネークケースでdtb_csv.field_nameに指定してみてください。

リレーションが貼ってある先の情報なのであれば、
情報の主Entityをdtb_csv.entity_nameに
主Entityに定義しているリレーション先のEntity名をdtb_csv.field_nameに
リレーション先のEntityに定義しているメソッド名をスネークケースでdtb_csv.referencefield_nameに指定してみてください。

既存のレコードが参考になるかと思います。
hiderin215
投稿日時: 2022/9/13 16:20
対応状況: −−−
半人前
登録日: 2022/3/23
居住地:
投稿: 11
Re: 受注一覧のCSVの出力に項目を追加したいです。
すみません。Entityの定義をよく理解していないのですが、下記を試しました。

dtb_csvのentity_nameにEccube\\Entity\\Order、field_nameにcool_type、disp_nameに「クール区分」を設定しました。

src\Eccube\Entity\Order.phpに下記を追記しました。

/**
* @var int
*
*/
private $cool_type = 0;



/**
* Set cool_type.
*
* @param string $cool_type
*
* @return Order
*/
public function setCoolType($cool_type)
{
$this->cool_type = $cool_type;

return $this;
}

/**
* Get cool_type.
*
* @return int
*/
public function getCoolType()
{
return $this->cool_type;
}

これを試しましたが、「クール区分」は空白のままで「0」は表示されませんでした。

再度、ご教授願います。

sfujiya
投稿日時: 2022/9/14 10:33
対応状況: −−−
常連
登録日: 2018/12/20
居住地:
投稿: 54
Re: 受注一覧のCSVの出力に項目を追加したいです。
/**
* Get cool_type.
*
* @return int
*/
public function getCoolType()
{
return $this->cool_type;
}
上記の書き方だと、dtb_orderにcool_typeカラムが存在し、値が設定されていれば出力されるかと思います。

dtb_orderにcool_typeカラムが存在せず、他の値からCSV出力する値を判定する場合は、
/**
* Get cool_type.
*
* @return int
*/
public function getCoolType()
{
// 条件を記載
if (...) {
return 1;
}

return 0;
}

と書いたら出力されないでしょうか?
hiderin215
投稿日時: 2022/9/14 18:33
対応状況: 解決済
半人前
登録日: 2022/3/23
居住地:
投稿: 11
Re: 受注一覧のCSVの出力に項目を追加したいです。
dtb_orderにcool_typeカラムが存在せず、他の値からCSV出力する値を判定する場合は、
/**
* Get cool_type.
*
* @return int
*/
public function getCoolType()
{
// 条件を記載
if (...) {
return 1;
}

return 0;
}

のやり方でうまく表示されました。
毎回、迅速なご回答ありがとうございました。
大変、助かりました!!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は96,050名です
総投稿数は111,651件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2325
5
umebius
2085
6
yuh
1893
7
h_tanaka
1852
8
red
1574
9
mcontact
1536
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
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.