バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > お届け日(発送日目安)のカスタマイズについて

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
wakakufu
投稿日時: 2009/8/17 11:35
対応状況: −−−
半人前
登録日: 2009/8/17
居住地:
投稿: 16
お届け日(発送日目安)のカスタマイズについて
以前の記事で「お届け日の管理をしてみました」というものを見つけました。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=1517&forum=12

まさにこの内容の変更を行いたいのですが参照URLが見れず困っております。

どなたかご指導いただけないでしょうか

当方の環境は以下の通りです
EC-CUBEバージョン 2.1.2
PHPバージョン PHP 5.2.4
DBバージョン PostgreSQL 8.1.10
mi-taro
投稿日時: 2009/8/18 10:28
対応状況: −−−
一人前
登録日: 2009/4/21
居住地:
投稿: 118
Re: お届け日(発送日目安)のカスタマイズについて
私も気になります・・・。

いまのところ
商品詳細ページに発送目安日を表示させたくらいで断念しています。



pantacle
投稿日時: 2009/8/18 17:24
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: お届け日(発送日目安)のカスタマイズについて
リンク先を見ましたが、幾つかのカスタマイズがまとめて話題に乗っているように見えます。
mojaxpさんかhomanさんを召喚できれば手っ取り早いですが、このままだと最新記事一覧から流れてしまうような気がします。

まさにこの内容の変更を行いたいではなく、改めてどうしたいのかを具体的に列挙すると他の方からもヒントが出てくるのではないでしょうか。
例えば私の場合ですと、配送先都道府県によってお届け日指定を調整した事例はありませんが、2.3.4でお届け日指定の起点日を「+発送日目安」日ではなく「+発送日目安」営業日にした事例ならありますので、要件によってはヒントをお出しする事が出来るかもしれません。


----------------
pantacle
http://pantacle.net/

wakakufu
投稿日時: 2009/8/18 18:22
対応状況: −−−
半人前
登録日: 2009/8/17
居住地:
投稿: 16
Re: お届け日(発送日目安)のカスタマイズについて
mahalo_cさん、ご指摘ありがとうございます

質問の表現が難しく横着してしまいました。申し訳ありません。

今回、実現したかった項目は、mahalo_cさんの事例にある、
「+発送日目安」営業日の部分です。

現状では、8月18日(火)に購入する場合。
発送日目安を「1週間以降」に設定していると、
購入時のお届け日指定が「8月26日(水)」以降が表示されます。

この一週間を営業日のみのカウントにしたいのです。
上記の例だと、土日を挟んでいるので「8月28日(金)」以降の表示にしたく思います。

アドバイスなどあれば、改めてよろしくお願いいたします。


pantacle
投稿日時: 2009/8/18 20:04
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: お届け日(発送日目安)のカスタマイズについて
休日判定には LC_Page_FrontParts_Bloc_Calendar を使用するのが楽です。
data/class/pages/shopping/LC_Page_payment.php の lfGetDateArray() に以下のようなコードを追加してみてください。
# 2.3.4のコードですが、2.1.2でも多分動くと思います。
あとは適当に調整してください。

//配達可能日のスタート値がセットされていれば
if($start_day >= 1) {
    $now_time = time();
/* ここから追加 */
    // カレンダーブロック表示用オブジェクトを生成し、定休日設定を取得
    require_once(CLASS_PATH . "pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Calendar.php");
    $BlocCalendar = new LC_Page_FrontParts_Bloc_Calendar();
    $BlocCalendar->arrHoliday = $BlocCalendar->lfGetHoliday();
    // 配達可能日の起点を指定「営業日」以降に変更
    for ($i = 1, $j = 1; $j < $start_day; $i++ )
    {
        // 定休日管理で設定された休日と、日曜・土曜を休日とする
        $tmp_time = $now_time + ($i * 24 * 3600);
        list($y, $m, $d, $w) = split(" ", date("y m d w", $tmp_time));
        $m = intval( $m );
        $d = intval( $d );
        $w = intval( $w );
        if ( ( $w == 0 ) || ( $w == 6 ) ||
             ( $BlocCalendar->lfCheckHoliday( $m, $d ) ) )
        {
            continue;
        }
        // 日数加算
        $j++;
    }
    // スタート値を調整
    $start_day += $i - $j;
/* 追加ここまで */
    $max_day = $start_day + $end_day;



[追記]
編集対象のファイルを誤っていたので訂正しました。


----------------
pantacle
http://pantacle.net/

wakakufu
投稿日時: 2009/8/19 9:40
対応状況: 解決済
半人前
登録日: 2009/8/17
居住地:
投稿: 16
Re: お届け日(発送日目安)のカスタマイズについて
mahalo_cさん、ありがとうございました。

教えていただいたコードで希望通りの動作が出来ました。
mi-taro
投稿日時: 2009/8/19 10:35
対応状況: −−−
一人前
登録日: 2009/4/21
居住地:
投稿: 118
Re: お届け日(発送日目安)のカスタマイズについて
>mahalo_c 様

ご指摘ありがとうございます。

自分もやりたいことは同じでしたので、ありがたく思っています。

ひとつ、今カスタマイズしているサイトは、月曜日を定休日に設定しています。
土日は普通に営業です。
その場合は、変更が必要でしょうか?

if ( ( $w == 0 ) || ( $w == 6 ) ||

の部分を

if ( ( $w == 1) ||

にする?

php初心者なのでとんちんかんなことを言っていたらすみません。


kishik
投稿日時: 2009/8/19 10:39
対応状況: −−−
仙人
登録日: 2009/4/3
居住地: 東京
投稿: 382
Re: お届け日(発送日目安)のカスタマイズについて
日曜始まりの土曜終わりなので、
0が日曜日、6が土曜日ですね。

ということで、1が月曜日です。

あとは実際に試してみて確かめるといいと思いますよ。

このカスタマイズ、私も参考にさせて頂きます

-----
カスタマイズ承ります
http://ec-cube-mall.jp/
http://ec-cube.ec-orange2.jp/
http://wiki.ec-orange2.jp/
mi-taro
投稿日時: 2009/8/19 11:26
対応状況: −−−
一人前
登録日: 2009/4/21
居住地:
投稿: 118
Re: お届け日(発送日目安)のカスタマイズについて
>kishik 様

アドバイスありがとうございます!
安心しました。
ぜひとも試してみたいと思います。

またmahalo_c様、
改めてありがとうございました。

pantacle
投稿日時: 2009/8/19 11:52
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: お届け日(発送日目安)のカスタマイズについて
お役に立てて何よりです。


2.4.0以降の場合は定休日回りの仕様が変わったので、以下の様に変更すると良い筈です。

$BlocCalendar->arrHoliday = $BlocCalendar->lfGetHoliday();
の行の前に
$BlocCalendar->arrRegularHoliday = $BlocCalendar->lfGetRegularHoliday();
を追加。

if ( ( $w == 0 ) || ( $w == 6 ) ||
     ( $BlocCalendar->lfCheckHoliday( $m, $d ) ) )
if ( $BlocCalendar->lfCheckHoliday( $y, $m, $d ) )
に変更。


----------------
pantacle
http://pantacle.net/

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1290
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.