EC-CUBE4では、EC-CUBE2には存在した機能、定休日を曜日で指定する機能がなくなっています。(少なくともEC-CUBE4.3.0の時点で)
これは2系からバージョンアップする時には少し困ってしまうポイントです。
土日が定休日になっている理由
4系では店舗のカレンダーブロックがあるのですが、土日が固定で定休日と表示されています。
ブロック管理でカレンダーという名前のブロックを開くと、コードが次のようになっています。
<tr>
{% for day in ThisMonthCalendar %}
{% if day.today == 1 and day.holiday == 1 %}
<td id="today-and-holiday" class="ec-calendar__today ec-calendar__holiday">{{ day.day }}</td>
{% elseif day.today == 1 and day.holiday == 0 %}
<td id="today" class="ec-calendar__today">{{ day.day }}</td>
{% elseif day.today == 0 and day.holiday == 1 %}
<td id="this-month-holiday-{{ day.day }}" class="ec-calendar__holiday">{{ day.day }}</td>
{# 土日は定休日表示にしています。不要な場合は削除して下さい。ここから #}
{% elseif day.dayOfWeek == 'Sun' or day.dayOfWeek == 'Sat' %}
<td id="this-month-holiday-{{ day.day }}" class="ec-calendar__holiday">{{ day.day }}</td>
{# 土日は定休日表示にしています。不要な場合は削除して下さい。ここまで #}
{% else %}
<td class="ec-calendar__day">{{ day.day }}</td>
{% endif %}
{% if loop.index % 7 == 0 and loop.index != ThisMonthCalendar|length %}
</tr><tr>
{% endif %}
{% endfor %}
</tr>
「土日は定休日表示にしています。不要な場合は削除して下さい。」というメッセージが記載されています。
いわゆるベタ書きというもので、曜日がコード上で固定されています。この部分を別の曜日に変更すれば、違う曜日を定休日として表示することができます。
管理画面で曜日指定はできないの?
カスタマイズを行う必要があります。
弊社ではカレンダーの曜日指定を実現するプラグインも用意していますので、ぜひお問い合わせください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。