バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カレンダーで毎週○曜日休みの設定

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2008/5/27 16:47
対応状況: −−−
カレンダーで毎週○曜日休みの設定
質問させてください。

現在、実際に店舗販売していて、これからECサイトを立ち上げようとしています。店舗は毎週水曜日と第3火曜日が休み(たまに臨時休業もあります)ですので、EC-CUBEの標準カレンダーでは対応できなくて困っています(土日は営業日です)。

こちらのフォーラムであがっている他のスレッドを参考にしたところ、PHPのコードを編集してみなさん解決されているようなのですが、私のような、週の中間を休日にする方法がありませんでした。

PHPなどの知識が皆無で厚かましいお願い事ですが、どなたかご教授いただけないでしょうか。
よろしくお願いいたします。
ゲスト
投稿日時: 2008/5/27 16:56
対応状況: −−−
Re: カレンダーで毎週○曜日休みの設定
追伸です。

お店の休業日は臨時休業日を除けば定休日になりますので、できれば自動的にカレンダーを設定したいと思っています。
臨時休業日だけ管理画面から登録できると大変ありがたいです。

我侭ですいません。
x41
投稿日時: 2008/5/27 20:20
対応状況: −−−
仙人
登録日: 2007/11/23
居住地:
投稿: 308
Re: カレンダーで毎週○曜日休みの設定
ゲスト
投稿日時: 2008/5/27 21:56
対応状況: −−−
Re: カレンダーで毎週○曜日休みの設定
ゲスト
投稿日時: 2008/5/28 11:38
対応状況: −−−
Re: カレンダーで毎週○曜日休みの設定
ご返信ありがとうございます。

ただお知らせいただいた参考先には日曜日や土曜日の指定はあっても週中で指定する方法は掲載されておりませんでした。

そのほかの情報がありましたら教えていただけないでしょうか。
ゲスト
投稿日時: 2008/5/28 12:46
対応状況: −−−
Re: カレンダーで毎週○曜日休みの設定
できましたが。
考えてみると「毎週○○曜日が休みだけど、今週は営業するよ」という場合はどうするんだろう?という素朴な疑問が・・・

営業します。というフラグは無いですからねぇ。

とりあえず、私が作った「土曜日の色を変える」というものに付け加えてます。
以下の例では、水曜、木曜が休みです。

                if ($this->lfCheckHoliday($month, $Day->day) || $Day->first) {
                    $arrCalendar[$j][$i]['holiday'] = 1;
                } elseif($Day->last) {
                    $arrCalendar[$j][$i]['holiday'] = 2;
                } else {
                    $arrCalendar[$j][$i]['holiday'] = 3;
                }

// 毎週●●曜日が休みの設定

				foreach($this->setHoliday_w as $chk){
					$w_day = date('w',mktime(0,0,0,$arrCalendar[$j][$i]['month'],$arrCalendar[$j][$i]['day'],$arrCalendar[$j][$i]['year']));
					if ($w_day == $chk){
	                    $arrCalendar[$j][$i]['holiday'] = 1;
					}
				}

さらに、最初のほうに追加
    function init() {
        parent::init();
        $bloc_file = 'calendar.tpl';
        $this->setTplMainpage($bloc_file);
// 毎週●●曜日が休みの設定
	$this->setHoliday_w = array(3,4); // 0=日曜〜 7=土曜
	}
kvex2004
投稿日時: 2008/5/28 12:48
対応状況: −−−
長老
登録日: 2007/10/31
居住地: 埼玉
投稿: 218
Re: カレンダーで毎週○曜日休みの設定
ログインしてなかった・・・涙

上の書き込みは私です。

元記事は
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2215&forum=10&post_id=7790#forumpost7790
です
ゲスト
投稿日時: 2008/5/28 18:16
対応状況: −−−
Re: カレンダーで毎週○曜日休みの設定
kvex2004様
ご教授ありがとうございます。

今回教えていただいた内容で毎週の定休日の設定ができました。
「毎月、第○△曜日」の休業日は管理画面から手動で追加していきたいと思います。
おかげで助かりました。ありがとうございます!

ところで、ご指摘いただいたように臨時休業日ならぬ特別営業日については、特に決算シーズンとかで予想される出来事だと思います。私のように小さなお店でも売り上げを立てるために開店せざるを得ない時だってありますし。
重ね重ねで申し訳ないのですが、特別営業日についてはなんらかの方法で実現できないものでしょうか…。
kvex2004
投稿日時: 2008/5/28 21:23
対応状況: −−−
長老
登録日: 2007/10/31
居住地: 埼玉
投稿: 218
Re: カレンダーで毎週○曜日休みの設定
管理画面をハックすると、後々大変そうなので、そこは避けるとして。
今、パっと思いつくのは、臨時に営業する日をテキストファイルか何かで与えてやる感じですかねぇ。

例えば
open.php とかいうファイルを作るとして
ただの文字列でもいいんですが、ブラウザでアクセスされると見えてしまうので、かっこう悪いので、以下のように配列に。

<?php 
/* 以下営業日 */
$work_true = array (
"2008-05-25",
"2008-06-10",
"2008-06-17",
"2008-07-01"
)

?>


で、これをカレンダーのスクリプトで読み込んで、一致してれば営業日とする。
open.php はめんどうだけど、ftpでアップする。
とかですかねぇ。
koba63
投稿日時: 2008/5/29 10:51
対応状況: −−−
新米
登録日: 2008/5/29
居住地:
投稿: 3
Re: カレンダーで毎週○曜日休みの設定
kvex2004様
早々のご教授ありがとうございます。
またご教授を受けている身でありながら名乗りもせず、大変失礼しました。
私は小林と申します。今後ともよろしくお願い申し上げます。

今回ご教授いただいた内容を一致させるというのは具体的にどうしたらいいのでしょうか?
すいません、どう記述していいものかわかりません。
いま現在のファイル内容からどう修正・追記していいのでしょうか?

(デザイン設定⇒ブロック編集⇒カレンダー)

<tr>
<!--{/if}-->
<!--{if !$arrCal[cnt].in_month}-->
<td></td>
<!--{elseif $arrCal[cnt].holiday == 1}-->
<td class="off"><!--{$arrCal[cnt].day}--></td>
<!--{elseif $arrCal[cnt].holiday == 2}-->
<td class="sat"><!--{$arrCal[cnt].day}--></td>
<!--{else}-->
<td><!--{$arrCal[cnt].day}--></td>
<!--{/if}-->
<!--{if $arrCal[cnt].last}-->
</tr>

(data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Calendar.php)

(50行目あたり)
function init() {
parent::init();
$bloc_file = 'calendar.tpl';
$this->setTplMainpage($bloc_file);
$this->setHoliday_w = array(3,4); // 0=Sunday,7=Satday
$work_true = array (
"2008-05-25",
"2008-06-10",
"2008-06-17",
"2008-07-01"
);
}

(140行目あたり)
$arrCalendar[$j][$i]['day'] = $Day->day;
if ($this->lfCheckHoliday($month, $Day->day)) {
$arrCalendar[$j][$i]['holiday'] = 1;
} else {
$arrCalendar[$j][$i]['holiday'] = 3;
}
foreach($this->setHoliday_w as $chk){
$w_day = date('w',mktime(0,0,0,$arrCalendar[$j][$i]['month'],$arrCalendar[$j][$i]['day'],$arrCalendar[$j][$i]['year']));
if ($w_day == $chk){
$arrCalendar[$j][$i]['holiday'] = 1;
}
}
++$i;

ご親切にお教えいただいているのに私がわからずで申し訳ございません。
どうかよろしくお願い申し上げます。
(1) 2 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,039名です
総投稿数は110,020件です

投稿数ランキング

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