バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hiderin215
投稿日時: 2022/9/9 17:58
対応状況: −−−
新米
登録日: 2022/3/23
居住地:
投稿: 6
受注一覧の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
居住地:
投稿: 28
Re: 受注一覧のCSVの出力に項目を追加したいです。
CSV出力はdtb_csvのレコードを参照しているので、dtb_csvにcsv_type_idが3で、出力したいカラムのfield_nameを設定したレコードの追加が必要になるかと思います。
hiderin215
投稿日時: 2022/9/12 19:50
対応状況: −−−
新米
登録日: 2022/3/23
居住地:
投稿: 6
Re: 受注一覧のCSVの出力に項目を追加したいです。
ご回答ありがとうございます。
dtb_csvにレコードを追加すると「クール区分」と「送り状種類」のカラムが追加できました。
ありがとうございます。

ただ、今の所、CSV出力すると空白で表示されます。
追加したカラムに任意の数値を表示させるにはどうしたらよいでしょうか?
ご教授ねがいます。
sfujiya
投稿日時: 2022/9/13 6:46
対応状況: −−−
半人前
登録日: 2018/12/20
居住地:
投稿: 28
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
居住地:
投稿: 6
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
居住地:
投稿: 28
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
居住地:
投稿: 6
Re: 受注一覧のCSVの出力に項目を追加したいです。
dtb_orderにcool_typeカラムが存在せず、他の値からCSV出力する値を判定する場合は、
/**
* Get cool_type.
*
* @return int
*/
public function getCoolType()
{
// 条件を記載
if (...) {
return 1;
}

return 0;
}

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


 



ログイン



統計情報

総メンバー数は75,589名です
総投稿数は104,516件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2085
6
yuh
1664
7
red
1547
8
h_tanaka
1189
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
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.