フックを追跡するためのプレスタショップのソリューションはありますか?特にアクションフックフックがどこで呼び出されているのか、フックが何をしているのかを確認する必要があります。フックの機能を見つけるのは難しいです。彼らはどこにでもいることができます。Prestashopデバッグフック
0
A
答えて
2
すべてのフックの実行は、exec
Hook
クラスから実行されます。あなたはこの関数の先頭にデバッグトレースを追加することができます。
public static function exec($hook_name, $hook_args = array(), $id_module = null, $array_return = false, $check_exceptions = true,
$use_push = false, $id_shop = null)
{
$logger = new FileLogger(0);
$logger->setFilename(_PS_ROOT_DIR_.'/log/debug.log');
$e = new Exception;
$logger->logDebug('Hook '.$hook_name.' called from:');
$logger->logDebug($e->getTraceAsString());
....
これは/log/debug.logでデバッグログを作成し、このフックを呼び出すかについての情報を表示します。
あなたがそうするように、この関数をオーバーライドした場合であっても良く;)
また、あなたのDB内のすべてのINSERTをデバッグすることができます。
はDb
クラス(
/classes/db/Db.php
)から
q
機能でこのコード
protected function q($sql, $use_cache = true)
{
$logger = new FileLogger(0);
$logger->setFilename(_PS_ROOT_DIR_.'/log/sql.log');
$e = new Exception;
$logger->logDebug('SQL '.$sql.' executed from:');
$logger->logDebug($e->getTraceAsString());
...
を追加します。
+0
@Marcin Jaworskiの回答が編集され、人物を探すのに役立ちます – idnovate
関連する問題
- 1. Drupal 7 - デバッグフック
- 2. Luaでテーブルを作成するためのデバッグフック
- 3. Prestashopデータベーススキーマ
- 4. Prestashopバックオフィスコントローラ
- 5. Prestashopマルチストアセットアップ
- 6. Prestashopメインメニューモジュール
- 7. Prestashop upgradation
- 8. prestashopディスプレイアタッチインライン
- 9. Prestashopバウチャーシステム
- 10. モジュールprestashop
- 11. SlideTabProduct prestashop
- 12. Prestashop megamenu
- 13. Stock PrestaShop
- 14. PrestashopログインFirst
- 15. Prestashop 1.7デバッグバー
- 16. prestashopモジュールx13allegroアップデートエラー
- 17. はPrestaShopの
- 18. Prestashopとhttps
- 19. PrestashopとSmarty
- 20. ホームページのPrestashopブロックニュースレター
- 21. PrestaShop 1.6:manufacturer_nameエラー
- 22. PrestaShopのは
- 23. prestashop 1.6.1.11カテゴリボックスヘッダー
- 24. Prestashop 1.6.1.4 url structure
- 25. Prestashop multiple modals JQuery
- 26. prestashop product-list.tpl custom
- 27. タイトルIssue Prestashop Website
- 28. prestashop 1.6カスタムフィールド
- 29. Prestashop nginxカテゴリ404
- 30. Prestashop 1.7のカスタムフック
どのフックが呼び出されているか知りたいですか? – joseantgv
私の店では、DBに二重の行が含まれることがあります。インサートはフック機能にあります。だから、時には2度実行する必要があります。私はいつどこで見つけることができません。 2番目のケースではHOOK :: EXECが見つかりますが、どこに関数があるのかわかりません。彼らはいくつかのモジュールになければなりません。 –