ノラプログラマーの技術メモ

ネットで調べても出てこなかった情報を載せていきたい技術系ブログ。

ECCUBEのエラーメッセージを変更する方法

eccube2.13系で、表示されるエラーメッセージを変更する方法。

「/data/class/pages/error/LC_Page_Error.php」ファイルを編集する。
※オーバーライドして管理してる場合は「/data/class_extends/page_extends/error/LC_Page_Error_Ex.php」ファイルね。

LC_Page_Error.phpに記載されているエラーメッセージの内容は以下の通り。

public function action()
{
SC_Response_Ex::sendHttpStatus(500);

switch ($this->type) {
case PRODUCT_NOT_FOUND:
$this->tpl_error='ご指定のページはございません。';
SC_Response_Ex::sendHttpStatus(404);
break;
case PAGE_ERROR:
$this->tpl_error='不正なページ移動です。';
break;
case CART_EMPTY:
$this->tpl_error='カートに商品ががありません。';
break;
case CART_ADD_ERROR:
$this->tpl_error='購入処理中は、カートに商品を追加することはできません。';
break;
case CANCEL_PURCHASE:
$this->tpl_error='この手続きは無効となりました。以下の要因が考えられます。
・セッション情報の有効期限が切れてる場合
・購入手続き中に新しい購入手続きを実行した場合
・すでに購入手続きを完了している場合';
break;
case CATEGORY_NOT_FOUND:
$this->tpl_error='ご指定のカテゴリは存在しません。';
SC_Response_Ex::sendHttpStatus(404);
break;
case SITE_LOGIN_ERROR:
$this->tpl_error='メールアドレスもしくはパスワードが正しくありません。';
break;
case TEMP_LOGIN_ERROR:
$this->tpl_error='メールアドレスもしくはパスワードが正しくありません。
登録申請された場合は、承認されるまでお待ちください。';
break;
case CUSTOMER_ERROR:
$this->tpl_error='不正なアクセスです。';
break;
case SOLD_OUT:
$this->tpl_error='申し訳ございませんが、ご購入の直前で売り切れた商品があります。この手続きは無効となりました。';
break;
case CART_NOT_FOUND:
$this->tpl_error='申し訳ございませんが、カート内の商品情報の取得に失敗しました。この手続きは無効となりました。';
break;
case LACK_POINT:
$this->tpl_error='申し訳ございませんが、ポイントが不足しております。この手続きは無効となりました。';
break;
case FAVORITE_ERROR:
$this->tpl_error='既にお気に入りに追加されている商品です。';
break;
case EXTRACT_ERROR:
$this->tpl_error="ファイルの解凍に失敗しました。\n指定のディレクトリに書き込み権限が与えられていない可能性があります。";
break;
case FTP_DOWNLOAD_ERROR:
$this->tpl_error='ファイルのFTPダウンロードに失敗しました。';
break;
case FTP_LOGIN_ERROR:
$this->tpl_error='FTPログインに失敗しました。';
break;
case FTP_CONNECT_ERROR:
$this->tpl_error='FTPログインに失敗しました。';
break;
case CREATE_DB_ERROR:
$this->tpl_error="DBの作成に失敗しました。\n指定のユーザーには、DB作成の権限が与えられていない可能性があります。";
break;
case DB_IMPORT_ERROR:
$this->tpl_error="データベース構造のインポートに失敗しました。\nsqlファイルが壊れている可能性があります。";
break;
case FILE_NOT_FOUND:
$this->tpl_error='指定のパスに、設定ファイルが存在しません。';
break;
case WRITE_FILE_ERROR:
$this->tpl_error="設定ファイルに書き込めません。\n設定ファイルに書き込み権限を与えてください。";
break;
case DOWNFILE_NOT_FOUND:
$this->tpl_error='ダウンロードファイルが存在しません。
申し訳ございませんが、店舗までお問合わせ下さい。';
break;
case FREE_ERROR_MSG:
$this->tpl_error=$this->err_msg;
break;
default:
$this->tpl_error='エラーが発生しました。';
break;
}
}