Schedule(スケジュール)1.0.1での休日カレンダー表示について

hogechan > Schedule(スケジュール)1.0.1での休日カレンダー表示について @ 2018/12/1 9:25
WEBデザイン初心者です。

baserCMS 3.0.9、ratio_3_2(バージョン:1.3.0)上でSchedule(スケジュール)1.0.1プラグインを使い、
ウィジェットエリアに休日カレンダーを表示しているのですが、当月、翌月と2ヵ月分のカレンダーを表示した場合、
年をまたぐと翌年1月の休日が反映されません。
(年末年始の休みを表示したい。)

/app/Plugin/Schedule/View/Elements/widgets内のholiday_calendar.phpで、以下のように表記しています。

echo '<'; echo date('Y-m'); echo '月の営業日>';
$this->BcBaser->holidayCalendar(null, null, array('title' => true, 'class' => 'widgetScheduleCalendar', 'business_day' => '○', 'holiday' => '休'));
echo '<'; echo date('Y-m', strtotime(date('Y-m').'+1 month')); echo '月の営業日>';
$this->BcBaser->holidayCalendar(null, date('n')+1, array('title' => true, 'class' => 'widgetScheduleCalendar', 'business_day' => '○', 'holiday' => '休'));
?>

なお、カレンダー自体は正常に表示されますし、基本設定で指定した休日(定休日)は表示されます。

ご教授いただきますよう、宜しくお願い致します。
tommy6073 > Re: Schedule(スケジュール)1.0.1での休日カレンダー表示について @ 2018/12/3 10:48
こんにちは、tommy6073です。

翌月のカレンダーを表示する $this->BcBaser->holidayCalendar() に渡す第1(年)、第2(月)引数を変えてみると上手く動くかと思います。

/app/Plugin/Schedule/View/Elements/widgets/holiday_calendar.php の先頭にて、翌月の年と月を取得する処理を書き、
$currentMonth = date('n');
$currentYear = date('Y');
if ($currentMonth === "12") {
	$nextMonth = 1;
	$nextYear = $currentYear + 1;
} else {
	$nextMonth = $currentMonth + 1;
	$nextYear = $currentYear;
}

呼び出し部分を、以下のように書き変えます。
$this->BcBaser->holidayCalendar($nextYear, $nextMonth, array('title' => true, 'class' => 'widgetScheduleCalendar', 'business_day' => '○', 'holiday' => '休'));


これでご希望の動作が実現できるのではないでしょうか。

ご参考になればと思います!
hogechan > Re: Schedule(スケジュール)1.0.1での休日カレンダー表示について @ 2018/12/3 13:20
tommy6073さん
こんにちは!

ご教授いただきありがとうございます!
修正したところ、所望していた表示がされました。

また何かありましたら宜しくお願いします。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
27 人のユーザが現在オンラインです。 (27 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 27