Drupal 7でカスタムエラーページを作成したいと思います。set_message
のようなものがありますが、エラーは記録されません。だから、フックや何かのようなエラーをキャッチすると、それをログに記録し、私のユーザーに人間のエラーを表示する?Drupalエラーページ
1
A
答えて
1
あなたの目標は「エラーをキャッチしてログに記録し、ユーザーにエラーを表示する」ことです。
この場合、おそらくコードのブロックを実行しようとするTry/Catch機能があります。問題が発生した場合は、メッセージが表示されます。あなたは、ウォッチドッグ機能付きのDrupalのデータベース・ロギングシステムにエラーを記録することができ、あなたの特定のケースでは
は、必要に応じてhttp://api.drupal.org/api/drupal/includes--bootstrap.inc/function/watchdog/7
あなたはまた、あなたが次にhttp://php.net/manual/en/function.error-log.php
に続けることができるPHPのerror_logが同様に見にこれをログに記録できすでに把握しているdrupal_set_message関数を使用してユーザーにメッセージを表示します。
あなたはこのようになります達成しようとしているもののための最終的なコード:
try {
// RUN YOUR CUSTOM CODE HERE
} catch (Exception $e) {
// Record the error Drupal's database log
watchdog('error_page', $e->getMessage());
// Record the error to PHP's error_log
error_log($e->getMessage());
// Display a message to the user
drupal_set_message("We're sorry, but we couldn't find the page you were looking for.", 'error');
}
0
drupal_get_messages()を使用して、エラータイプのメッセージに対して反復処理を行う配列をフェッチすることができます。
私はあなたの質問を100%理解したとは確信していませんが、drupal_set_message()を参照して以来、これはあなたが探していたものだと思いました。
あなたはhook_init()でそれを処理し、そこにメッセージがあるかどうか調べることができます。
エラーをリダイレクトすると、フォームなどのデフォルトのDrupal機能が破損する可能性があります。
関連する問題
- 1. codeigniterエラーページ
- 2. JSPエラーページ
- 3. サーブレット/ JSPエラーページ
- 4. jQueryオートコンプリート500エラーページ
- 5. キャッチエラーとエラーページ
- 6. MVC3エラーページとモデル
- 7. Djangoのエラーページが
- 8. jspエラーページ - 例外?
- 9. Kohana 2カスタム404エラーページ
- 10. Struts/Spring with Tilesエラーページ
- 11. twig {%render%} noエラーページsymfony2
- 12. htaccessエラーページと認証
- 13. JSF 2.0のWEB.XMLエラーページ
- 14. カスタム404エラーページでも不明なファイル拡張子のデフォルト404エラーページ
- 15. 画像のカスタムHTTPエラーページ?
- 16. Spring MVC:エラーページとプリンシパル情報
- 17. goベースのWebアプリケーションのエラーページ
- 18. Railsの4ハンドリングロケールのエラーページ
- 19. WP7アプリにエラーページを表示
- 20. Symfony2のローカライズされたエラーページ
- 21. Asp.Netの特別なエラーページ
- 22. ホストのエラーページへのリダイレクト
- 23. JSPエラーページ属性の理解
- 24. Spring MVC 3.2 - エラーページのコンテンツネゴシエーション?
- 25. 予期しないエラーページ
- 26. 読み込みエラーページのサンドイッチ
- 27. java ee http-basic認証エラーページ
- 28. Apache内部サーバのエラーページ
- 29. ASP.NETの一般的なエラーページのベストプラクティス
- 30. プロダクション環境 - http 500エラーページ - no stacktrace please
がここに似た何かを見つけhttp://stackoverflow.com/questions/1705840/how-to-log-error -message-in-drupal –
素晴らしい!ありがとう! – Michiel
あなたのために働くかどうか私に教えてください。そうでない場合は、我々はより良いものに取り組むことができます –