バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > dtb_class項目をdate型に変更した場合、CSVダウンロードで時間が表示される

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
YOHBUN
投稿日時: 2018/12/21 18:00
対応状況: −−−
常連
登録日: 2016/12/20
居住地:
投稿: 69
dtb_class項目をdate型に変更した場合、CSVダウンロードで時間が表示される
▼テンプレート
[EC-CUBE]3

dtb_classに追加項目として入荷日を追加しました。
その際にDBの型はdateタイプにしましたが、
CSVダウンロードの際に、なぜか時間が追加され yyyy-mm-dddd 00:00:00
の形式で落とされます。

Eccube.Entity.ProductClass.dcm.ymlのフィールドも

stock_next_arrival_date:
type: date
nullable: true

と記述しました。


DBを見てみても時間は入っていませんし、
phpMyAdminよりCSVをダウンロードしても入っていません。


どうしてでしょうか。宜しくお願い致します
468
投稿日時: 2018/12/21 23:27
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: dtb_class項目をdate型に変更した場合、CSVダウンロードで時間が表示される
ymlで指定する型をtype: dateにすると
entityの変数はphpのdatetimeで処理されるのではないでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

YOHBUN
投稿日時: 2018/12/22 10:54
対応状況: −−−
常連
登録日: 2016/12/20
居住地:
投稿: 69
Re: dtb_class項目をdate型に変更した場合、CSVダウンロードで時間が表示される
つまりdate型として扱うとdatetimeで処理してしまうため、
日時の表記を取り除くことは、標準では不可能ということでしょうか?

例えば
ダウンロードの際に、yyyy-MM-ddddの先頭12桁のみを抽出する
などの処理をするなどして対策するしかなさそうですか?
468
投稿日時: 2018/12/22 16:45
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: dtb_class項目をdate型に変更した場合、CSVダウンロードで時間が表示される
もしかしたら、取り除く方法があるのかもしれませんが、
私はその方法にたどり着く事が出来ず、
時間を取り除きたい場合は、CSVダウンロード処理に直接手を加えています。

異なる箇所の処理で申し訳ないのですが、
配送CSVを他のシステムと連携する際、お届け希望日に時刻があるとエラーとなる課題があり、
それに対応した時は、/src/Eccube/Controller/Admin/Order/OrderController.php function exportShipping()内のカラムのループ内に判定処理を追加して、
format()メソッドで整形しました。

                        // CSV出力項目と合致するデータを取得.
                        foreach ($Csvs as $Csv) {
                            // 受注データを検索.
                            $ExportCsvRow->setData($csvService->getData($Csv, $Order));
                            if ($ExportCsvRow->isDataNull()) {
                                // 配送情報を検索.
                                $ExportCsvRow->setData($csvService->getData($Csv, $Shipping));
                            }
                            if ($ExportCsvRow->isDataNull()) {
                                // 配送商品を検索.
                                $ExportCsvRow->setData($csvService->getData($Csv, $ShipmentItem));
                            }
                            if ($ExportCsvRow->isDataNull()) {
                                // 配送商品を検索.
                                $ExportCsvRow->setData($csvService->getData($Csv, $BaseInfo));
                            }

                            if ($Csv->getDispName() == 'お届け希望日' && $Shipping->getShippingDeliveryDate()) {
                            	$ExportCsvRow->setData($Shipping->getShippingDeliveryDate()->format('Y/m/d'));
                            }
                        }


ループの中にローカルフックポイントがある事から
プラグインで整形する事も出来そうな気はします。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.