バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お届け日を今日から5日~10日後それぞれの日付をプルダウンで表示させたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
VAAAANG
投稿日時: 2020/11/26 22:19
対応状況: 確認中
半人前
登録日: 2020/5/25
居住地:
投稿: 16
お届け日を今日から5日~10日後それぞれの日付をプルダウンで表示させたい
[EC-CUBE] eccube3

お届け日を今日から5日~10日後それぞれの日付をプルダウンで表示させたいです。
例えば注文日(注文画面を開いているタイミング)が11/1の場合、

11/6
11/7
11/8
11/9
11/10

の5つの内どれかを選択できるようにしたいです。
何卒よろしくお願いいたします...。
umebius
投稿日時: 2020/11/27 9:11
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: お届け日を今日から5日~10日後それぞれの日付をプルダウンで表示させたい
商品に登録するお届け日目安とは無関係にということですね。
この辺りのコードで$deliveryDatesという配列の中身が5日~10日後になるようにカスタマイズしてやれば良いかと思います。

https://github.com/EC-CUBE/ec-cube3/blob/3.0.18/src/Eccube/Service/ShoppingService.php#L990-L1006


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

VAAAANG
投稿日時: 2020/11/30 17:32
対応状況: −−−
半人前
登録日: 2020/5/25
居住地:
投稿: 16
Re: お届け日を今日から5日~10日後それぞれの日付をプルダウンで表示させたい
ご返信ありがとうございます。
指定していただいたコードを確認したところ取り急ぎ

$minDate = 5;

こちらに変更したところ5日後からの日付が設定できたので、あとはdeliv_date_end_maxの数値を5をすればよいと思い自分で調べたところconfig.ymlファイルにその設定の記述があるとのことでファイルを開いてみたのですが下記のような記述のみでdeliv_date_end_maxに関する記述がございませんでした。

----------------------------------
auth_magic: ××××××××××××
password_hash_algos: ××××
shop_name: ××
force_ssl: 1
admin_allow_host: null
cookie_lifetime: 0
cookie_name: eccube
locale: ja
timezone: Asia/Tokyo
pageinrange: false
trusted_proxies_connection_only: false
trusted_proxies: { }
eccube_install: 1
----------------------------------

他にdeliv_date_end_maxを修正する箇所はどちらにあるかご存知でしょうか?
宜しくお願い致します。
VAAAANG
投稿日時: 2020/11/30 17:37
対応状況: −−−
半人前
登録日: 2020/5/25
居住地:
投稿: 16
Re: お届け日を今日から5日~10日後それぞれの日付をプルダウンで表示させたい
下記のよな記述にしましたら希望通りの日数を表示させることができましたが修正した方がいい箇所はありますでしょうか?
すみません、phpはいじったことがなく少し不安で...。


// お届け日の設定
$minDate = 5;
$deliveryDateFlag = false;

// 配送時に最大となる商品日数を取得
foreach ($Order->getOrderDetails() as $detail) {
$deliveryDate = $detail->getProductClass()->getDeliveryDate();
if (!is_null($deliveryDate)) {
if ($deliveryDate->getValue() < 0) {
// 配送日数がマイナスの場合はお取り寄せなのでスキップする
$deliveryDateFlag = false;
break;
}

if ($minDate < $deliveryDate->getValue()) {
$minDate = $deliveryDate->getValue();
}
// 配送日数が設定されている
$deliveryDateFlag = true;
}
}

// 配達最大日数期間を設定
$deliveryDates = array();
$deliv_date_end_max = 5;

// 配送日数が設定されている
if ($deliveryDateFlag) {
$period = new \DatePeriod (
new \DateTime($minDate.' day'),
new \DateInterval('P1D'),
new \DateTime($minDate + $deliv_date_end_max.' day')
);

foreach ($period as $day) {
$deliveryDates[$day->format('Y/m/d')] = $day->format('Y/m/d');
}
}
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.