2

イベント オブザーバーが自分のマシン (および別の同僚) からは機能するのに、オフィス内の他のマシンからは機能しない理由がわかりません。

たとえば、イベントをリッスンするオブザーバーがあります。

controller_action_postdispatch_adminhtml_process_reindexProcess

私のコードはイベントを検出し、いくつかのコードを実行します。再インデックス プロセスを実行すると、コードが実行されます。オフィス内の特定の他のマシンが再インデックスを実行すると、イベントが発生しないか、オブザーバーがそれを検出しません。

コンピューターまたはユーザーが管理パネルの再インデックス ボタンをクリックすると、イベントが発生または監視される方法が変更されるのはなぜですか?

私はこの問題を可能な限り調査し、この投稿を見つけました。

イベントが発生しない/またはオブザーバーが magento で機能しない

しかし、それは別の施設に関連しているように見えました。私の問題では、特定のコンピューターの特定のインストールで機能し、他のコンピューターでは機能しないため、この記事は直接関係がないと感じました。

この問題は私を夢中にさせています。どんな助けでも大歓迎です。

4

2 に答える 2

3

あなたが試すことができるブードゥー教はたくさんありますが、最終的にあなたがしなければならないことはここから始めることです

#File: app/Mage.php

public static function dispatchEvent($name, array $data = array())
{
    Varien_Profiler::start('DISPATCH EVENT:'.$name);
    $result = self::app()->dispatchEvent($name, $data);
    #$result = self::registry('events')->dispatch($name, $data);
    Varien_Profiler::stop('DISPATCH EVENT:'.$name);
    return $result;
}

イベントの実行をデバッグ/ログに記録して、特定の状況でイベントが発生しない理由を特定します。

コメントからの具体的な回答

ありがとう!チェック マークからのインデックスの再作成は、インデックスの再作成プロセスのテキストをクリックするだけではなく、別のイベントを呼び出すことがわかりました。デバッグするには非常に長いエラーですが、簡単な解決策です。再度、感謝します!–</p>

于 2011-12-07T01:34:41.120 に答える
0

両方のコンピューターで同じファイル状態になっていますか?MyFirm_MyModule.xmlの転送/チェックインを忘れて、モジュールがアクティブになっていない可能性がありますか?

コンピューターは異なるオペレーティングシステムを使用していますか?Windowsを使用していて、同僚がLinuxを使用している場合は、モジュール名の大文字/小文字に問題がある可能性があります。

于 2011-12-07T11:35:33.233 に答える