EC-CUBE3の入力チェック時のエラーメッセージで項目名を表示させる方法
EC-CUBE3では入力チェック時のエラーメッセージ表示が標準のままだと項目名が表示されておらず、表示させるためには少々手を加える必要があります。
そこで今回は項目名を表示させたいけど分からないという方のために項目名を表示する方法を説明します。
現在のエラーメッセージの表示は標準ではこのようになっています。
キャプチャを確認してもらうと分かる通り項目名が表示されておらず、何が入力されていないのか分かりづらいです。このエラーメッセージ表示を、
このように項目名を表示させるにはどうするかというと、
ECCUBEROOT/src/Eccube/Resource/template/default/Form/form_layout.twig
の59行目にある
<p class="errormsg text-danger">{{ error.message |trans }}</p>
を
<p class="errormsg text-danger">{{ form.vars.name|trans }} : {{ error.message |trans }}</p
に修正します。
※ECCUBEROOT : EC-CUBE3がインストールされているディレクトリ
この修正だけだとまだ不完全で、
とinput属性のnameがそのまま表示されてしまいます。この部分を日本語に表示させるには、
ECCUBEROOT/src/Eccube/Resource/locale/message.ja.yml
ファイルに以下の設定を追加します。(追加する場所はどこでも可能)
name01: 姓 name02: 名 kana01: セイ kana02: メイ ・ ・ ・
この内容を追加することで項目名が日本語表示されます。
入力チェックエラー発生時に英語表記されたら他の項目に対してもmessage.ja.yml
に
画面上に表示された値: 日本語名
と追加していくことで日本語に対応可能です。
エラーメッセージに項目名を表示させたいという方は是非お試しください。
既に本番環境を運用されている方でこの方法を適用しても項目名が表示されないという方は、ECCUBEROOT/app/cache/translator
ディレクトリを削除後に再度お試しください。