簡易予約カレンダープラグイン の表示範囲の変更 投稿する

投稿者:satocmt  投稿日時:2022-07-12 14:20:39
お世話になっております。

簡易予約カレンダープラグインで、当日より前の日程の残席数は表示されないようになっていると思います。
これを例えば「3日後より前の日程を表示しない」のように変更することは可能でしょうか?

可能な場合はどのファイルのどの部分を書き換えれば良いか、ご教授頂けると幸いです。お手数ですが、よろしくお願いします。
投稿者:齋藤毅  投稿日時:2022-07-12 14:43:50
試したことはないのですが、
/CMSインストールディレクトリ/soyshop/webapp/src/module/plugins/reserve_calendar/logic/View/CalendarLogic.class.php
の106行目にあります
$schDate = mktime(0, 0, 0, $this->month, $d, $this->year) + 24 * 60 * 60 - 1;

$n = 3;
$schDate = mktime(0, 0, 0, $this->month, $d, $this->year) + (($n * 24 * 60 * 60) - 1);
にしてみては如何でしょうか?

今回お伝えした改修はバージョンアップ時に上書きされてしまいます。
投稿者:satocmt  投稿日時:2022-07-12 18:00:17
ご回答ありがとうございます。

教えていただいた箇所を書き換えましたが、当方の環境だと動作しないようです。改修前と変わらず、当日の予約から表示されています。
該当箇所に関わる記述は、他に考えられるでしょうか?

なお、Soyshopのバージョンは2.1.19、簡易予約カレンダーは0.13.2です。
投稿者:齋藤毅  投稿日時:2022-07-13 04:59:40
モジュールは何を使っていますか?
モジュールというのはテンプレートに記載したshop:moduleのことで、

標準機能であれば、
<!-- shop:module="reserve.simple_calendar" -->
になります

標準機能のモジュールで今回の改修で表示されなければ、新規でカレンダーの拡張プラグインの開発が必要になります。
投稿者:satocmt  投稿日時:2022-07-13 10:11:15
確認したところ、スマホ拡張プラグイン
<!-- shop:module="reserve.smart_calendar" -->
のモジュールを使用していました。そこで、
/CMSインストールディレクトリ/soyshop/webapp/src/module/plugins/calendar_expand_smart/logic/View/CalendarLogic.class.php
の121行目辺りにある、
if($schDate < strtotime("-1 day")) return false;
この部分を書き換えたら、希望通りの表示ができました。ご教授頂き、誠にありがとうございました。
投稿者:satocmt  投稿日時:2022-12-26 11:50:37
お世話になっております。

簡易予約カレンダーの表示期間について、年末に近くなって「来年の12月のカレンダー」が表示されるようになってしまいました。
本年の予約受付が終了し、最短で予約できるのが1月以降になっていることが、影響しているのではないかと思います。

標準で表示するカレンダーを決めているのが、どの部分の記述なのかご教授いただけると幸いです。よろしくお願いいたします。

・soyshopのver.2.6.7
・簡易予約カレンダープラグインのver.1.3
投稿者:齋藤毅  投稿日時:2022-12-27 05:24:32
/CMSインストールディレクトリ/soyshop/webapp/src/module/site/reserve/smart_calendar.php
を開くと、
本年の予約受付が終了し、最短で予約できるのが1月以降になっていることが、影響しているのではないかと思います。
まさに上記の認識であることがわかるコメントがありますので、その場所を修正する必要があります。

上記ファイルの13行目の
list($year, $month) = SOY2Logic::createInstance("module.plugins.calendar_expand_smart.logic.Schedule.SmartScheduleLogic")->findLatestScheduleDate($year, $month);
のコードを削除すると、直近の予定を探しに行かなくなります。
ログインして投稿する