Magento event-waarnemer werkt niet op sommige machines

Ik kan er niet achter komen waarom mijn event-waarnemer werkt vanuit mijn machine (en andere collega's) maar niet van andere machines op kantoor.

Ik heb bijvoorbeeld een waarnemer die naar de gebeurtenis luistert:

controller_action_postdispatch_adminhtml_process_reindexProcess

Mijn code detecteert de gebeurtenis en voert een code uit. Wanneer ik het herindexeringsproces start, wordt mijn code uitgevoerd. Wanneer bepaalde andere machines hier op kantoor de re-index uitvoeren, is de gebeurtenis niet geactiveerd of detecteert mijn waarnemer deze niet.

Waarom zou de computer of de gebruiker die op de knop voor opnieuw indexeren in het adminpaneel klikt, iets wijzigen voor hoe gebeurtenissen worden geactiveerd of waargenomen?

Ik heb dit probleem zo goed mogelijk onderzocht en deze post gevonden.

Niet-ontbrekende evenementen/of waarnemer werkt niet in magento

Maar dat leek op verschillende installaties te slaan. In mijn probleem werkt het op een bepaalde installatie op bepaalde computers en niet van anderen, dus ik vond dat dit artikel niet direct relevant was.

Dit probleem maakt me gek. Alle hulp zou zeer op prijs worden gesteld.

2

2 antwoord

Er is heel wat voodoo die je zou kunnen proberen, maar wat je uiteindelijk zult moeten doen, is hier beginnen

#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;
}

en het debuggen/loggen van de uitvoering van uw evenement om vast te stellen waarom het in bepaalde situaties niet vuurt.

Specifiek antwoord van opmerkingen

Bedankt! Ik was in staat om te zien dat opnieuw indexeren van de vinkjes een andere gebeurtenis oproept dan simpelweg klikken op de herindexering van de procestekst. Een pijnlijk lange fout om te debuggen maar een eenvoudige oplossing. Nogmaals bedankt! -

3
toegevoegd
Bedankt! Ik was in staat om te zien dat opnieuw indexeren van de vinkjes een andere gebeurtenis oproept dan simpelweg klikken op de herindexering van de procestekst. Een pijnlijk lange fout om te debuggen maar een eenvoudige oplossing. Nogmaals bedankt!
toegevoegd de auteur Nathaniel Wendt, de bron
Ja goed idee om Mage te zetten :: log ($ naam); en vergelijk eenvoudig de uitvoer van 2 computers.
toegevoegd de auteur Jevgeni Smirnov, de bron

Weet je zeker dat je dezelfde bestandsstatus hebt op beide computers? Misschien vergeet u de MyFirm_MyModule.xml over te zetten/in te checken en uw module is niet actief?

Zijn de computers met verschillende besturingssystemen? Als u Windows gebruikt en uw collega's Linux gebruiken, is het mogelijk een probleem met de hoofdletters/kleine letters van modulenamen.

0
toegevoegd