質問 > 管理機能 > 受注一覧の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; } のやり方でうまく表示されました。 毎回、迅速なご回答ありがとうございました。 大変、助かりました!! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |