バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tschappie
投稿日時: 2019/4/22 17:32
対応状況: 解決済
半人前
登録日: 2019/3/22
居住地:
投稿: 18
4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
クロネコヤマトのリピート通販ECシステムに取り込み用のCSVを出力したいです。
 
金額欄(価格、送料、合計などすべて)が3系の時と異なり
3400.00
とすべて小数点付きの数字で出力されてしまいます。
金額欄に小数点があると取り込みが出来ないため、何とか出ないようにできませんでしょうか。



[EC-CUBE] 4.0.2 新規
[レンタルサーバ] さくらVPS
[OS] win10 CentOs7
[PHP] 7.1
[データベース] MySQL5.5
red
投稿日時: 2019/4/22 19:37
対応状況: −−−
登録日: 2010/2/15
居住地:
投稿: 1275
Re: 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
とりあえずエクセルで、整形するのはどうでしょう?


----------------
EC-CUBEのカスタマイズ承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

umebius
投稿日時: 2019/4/22 19:46
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
簡単にやるなら
src/Eccube/Service/CsvExportService.phpあたりを修正すればできます。

「 // スカラ値の場合はそのまま.」という行があると思いますが

その下のあたりでPHPで整形して小数点以下を切り取ってしまえば良いです。

色々な書き方はありますが、例えばこのような形でしょうか...

            if (is_string($data)) {
                $data = preg_replace('/\.0+$/', '',$data);
            }


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

umebius
投稿日時: 2019/4/22 19:49
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
スカラ値の場合だけでは.00を取り除けない項目がある場合は

// スカラ値の場合はそのまま.のELSEブロックではなく
その他の場合にも適用される箇所に書いても良いかもです。


プラグインでやるなら下記のフックポイントが使えます。
admin.order.csv.export.order
tschappie
投稿日時: 2019/4/23 12:54
対応状況: −−−
半人前
登録日: 2019/3/22
居住地:
投稿: 18
Re: 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
引用:

redさんは書きました:
とりあえずエクセルで、整形するのはどうでしょう?

ありがとうございます。
取り出したCSVをそのまま取り込める形にしたいので、なんとか出力時に成型する方向で考えています。
tschappie
投稿日時: 2019/4/23 12:56
対応状況: 解決済
半人前
登録日: 2019/3/22
居住地:
投稿: 18
Re: 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
引用:

umebiusさんは書きました:
簡単にやるなら
src/Eccube/Service/CsvExportService.phpあたりを修正すればできます。

「 // スカラ値の場合はそのまま.」という行があると思いますが

その下のあたりでPHPで整形して小数点以下を切り取ってしまえば良いです。

色々な書き方はありますが、例えばこのような形でしょうか...

            if (is_string($data)) {
                $data = preg_replace('/\.0+$/', '',$data);
            }

ありがとうございます。
 
こちらの記述で、小数点の無い価格が入ったCSVを出力できました!
重ねてお礼申し上げます。
umebius
投稿日時: 2019/4/23 13:10
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 4.0.2配送CSVの金額欄に小数点以下を出力しないようにしたい
良かったです。

やっぱり「// スカラ値の場合はそのまま.」のELSEブロックではなく、そのブロックの下あたりで良さそうですね。

あえて一部の.00を残しておく意味もないと思いますので..


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

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


 



ログイン


ec-cube.co

統計情報

総メンバー数は44,767名です
総投稿数は91,591件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1889
4
468
1743
5
yuh
1584
6
umebius
1296
7
red
1275
8
fukap
907
9
tsuji
837
10
shutta
827
11 ramrun 789
12
tao_s
742
13
h_tanaka
720
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.