EC-CUBEのカスタマイズをやっていると、何度となく見るのが「システムエラーが発生しました」の文言。
やみくもにファイルをいじくるより、エラーログを見たほうが短時間で問題を解決できますので、
カスタマイズをやる方は、エラーログの見方は知っておくべきだと思います。
エラーログを表示する方法は以下のようなものがあります。
・管理画面>システム設定>パラメータ設定で、debug_mode を true にする。
・data/logs/error.log を開いて、問題が発生した日時のログを参照する。
2.11 までは、data/logs/site.log にエラーが出力されていましたが、
2.12 からは、data/logs/error.log に出力されるようになったようです。
システムエラーはいろいろな原因が考えられますが、例えば以下のようなログだと、
dtb_bloc に新規レコードを挿入しようとした際に、ユニークなキーがダブったっぽいということがわかります。
2012/06/17 20:35:21 [/admin/ownersstore/index.php] Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。 SQL: [INSERT INTO dtb_bloc(device_type_id,bloc_id,bloc_name,tpl_path,filename,create_date,update_date,php_path,deletable_flg) SELECT $1,$2,$3,$4,$5,Now(),Now(),$6,$7] PlaceHolder: [array ( 0 => 10, 1 => 11, 2 => 'new_products', 3 => 'new_products.tpl', 4 => 'new_products', 5 => 'frontparts/bloc/new_products.php', 6 => 0, )] MDB2 Error: constraint violation _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_pgsql_7d5af8b6f2ff2cba581454b923c4106797e5bc98d (10, 11, 'new_products', 'new_products.tpl', 'new_products', 'frontparts/bloc/new_products.php', 0)] [Native message: ERROR: duplicate key value violates unique constraint "dtb_bloc_device_type_id_filename_key" DETAIL: Key (device_type_id, filename)=(10, new_products) already exists.] on [/var/www/html/sample.com/public_html/data/class/SC_Query.php(1005)] from 203.141.139.15 login_id = aiueo(0)[umto6b9rer5v98a1j8hpme7el2] /var/www/html/sample.com/public_html/html/admin/ownersstore/index.php(34): LC_Page_Admin_OwnersStore_Ex->process /var/www/html/sample.com/public_html/data/class_extends/page_extends/admin/ownersstore/LC_Page_Admin_OwnersStore_Ex.php(56): LC_Page_Admin_OwnersStore->process /var/www/html/sample.com/public_html/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php(59): LC_Page_Admin_OwnersStore->action /var/www/html/sample.com/public_html/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php(87): LC_Page_Admin_OwnersStore->installPlugin /var/www/html/sample.com/public_html/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php(404): LC_Page_Admin_OwnersStore->execPlugin /var/www/html/sample.com/public_html/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php(827): call_user_func (): NwNewProducts::install /var/www/html/sample.com/public_html/data/downloads/plugin/NwNewProducts/NwNewProducts.php(68): SC_Query->insert /var/www/html/sample.com/public_html/data/class/SC_Query.php(527): SC_Query->query /var/www/html/sample.com/public_html/data/class/SC_Query.php(811): SC_Query->execute /var/www/html/sample.com/public_html/data/class/SC_Query.php(968): SC_Query->error /var/www/html/sample.com/public_html/data/class/SC_Query.php(1005): trigger_error
ぜひエラーログを読んで、問題点を推測する訓練をつけてみてください。
何のこっちゃさっぱりわからないという人は、詳しい人にエラーログを見せれば、問題点の特定はしてくれるかもしれません。
さて、プラグイン開発せねば・・・。