バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は74,626名です
総投稿数は104,055件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2074
6
yuh
1664
7
red
1498
8
h_tanaka
1188
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.