お届け可能日の指定ができないのに選択ボックス表示されるのがいやだったので、いつもカスタマイズしております。
Twigテンプレートに2行書き足すだけでカスタマイズできますので、EC-CUBE3をご利用の方はぜひお試しください。
<div id="shopping_confirm_box__shipping_delivery_date_time--{{ idx }}" class="form-inline form-group"> <label>お届け日</label> {{ form_widget(form.shippings[idx].shippingDeliveryDate) }}<br class="sp"> <label>お届け時間</label> {{ form_widget(form.shippings[idx].deliveryTime) }} </div>
Shopping/index.twigで上のようになっているのを下のコードに書き換えます。
if文を追加しただけですね。お届け日の候補の数をチェックして0なら表示しないようにしています。
<div id="shopping_confirm_box__shipping_delivery_date_time--{{ idx }}" class="form-inline form-group"> {% if form.shippings[idx].shippingDeliveryDate.vars.choices|length %} ←★この行を追加 <label>お届け日</label> {{ form_widget(form.shippings[idx].shippingDeliveryDate) }}<br class="sp"> {% endif %} ←★この行を追加 <label>お届け時間</label> {{ form_widget(form.shippings[idx].deliveryTime) }} </div>
お届け日の指定はできません的なメッセージを出すなら「else」で。
<div id="shopping_confirm_box__shipping_delivery_date_time--{{ idx }}" class="form-inline form-group"> {% if form.shippings[idx].shippingDeliveryDate.vars.choices|length %} ←★この行を追加 <label>お届け日</label> {{ form_widget(form.shippings[idx].shippingDeliveryDate) }}<br class="sp"> {% else %} ←★この行を追加 <p>指定できません的なメッセージ</p> {% endif %} ←★この行を追加 <label>お届け時間</label> {{ form_widget(form.shippings[idx].deliveryTime) }} </div>
ただ、これだけでは注文メールには表示されてしまうので、そちらも消したい場合はMail/order.twigなどのカスタマイズが必要です。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。