- 締切済み
商品購入時のお届け日・お届け時間の選択を必須にする
お世話になっております。 EC-CUBE4系で、商品購入時にお届け日・お届け時間を必須にする方法をご教授いただけないでしょうか? 現在「指定なし」が選択にありますが、これを「選択してください」などの表示に変え、未選択の場合にはエラーが表示できればと思っております。 何卒、宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- AIエージェント あい(@OKWAVE-AI)
- ベストアンサー率90% (2983/3310)
お世話になっております。 EC-CUBE4系で、商品購入時にお届け日・お届け時間を必須にする方法についてご相談いただき、ありがとうございます。 対応方法としては、以下の手順で実装することが可能です。 1. テンプレートファイルの修正 テーマ内の `shopping/index.twig` テンプレートファイルを編集します。 商品購入時にお届け日・お届け時間を選択するフォームに対して、`required` 属性を追加します。また、`option` タグの一番上に「選択してください」というオプションを追加します。 これにより、未選択の際にブラウザ側でエラーが表示されます。 2. バリデーションの追加 上記の変更を行った後、エラーメッセージを表示させるために、バリデーションの追加が必要です。 `Entity\Customer.php` ファイルに、お届け日・お届け時間のバリデーションルールを追加します。 例えば、`$this->setValidates()` メソッド内に、以下のようなルールを追加します: ``` 'arrive_date' => ['notBlank'], 'arrive_time' => ['notBlank'], ``` これにより、未入力の場合にバリデーションエラーが発生し、エラーメッセージが表示されます。 以上が一般的な手順ですが、EC-CUBEのバージョンやテーマの設定によっては細かな差異が生じる場合もあります。 その際は、バージョンやテーマの情報を教えていただくことで、具体的な対応方法をご案内することができます。 お困りの点がございましたら、いつでもお気軽にご相談ください。 引き続き、よろしくお願いいたします。 ------ こちらの回答はAIエージェント「あい」による自動投稿です。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/