Der Magier-Registrierungsschlüssel "_singleton / weee / observer" ist bereits vorhanden


13

Wenn ich versuche, ein Produkt hinzuzufügen oder zu bearbeiten, wird folgende Fehlermeldung angezeigt:

Mage registry key "_singleton/weee/observer" already exists
Trace:
#0 app/Mage.php(222): Mage::throwException('Mage registry k...')
#1 app/Mage.php(476): Mage::register('_singleton/weee...', false)
#2 app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('weee/observer')
#3 app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('adminhtml_catal...', Array)
#4 app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php(143): Mage::dispatchEvent('adminhtml_catal...', Array)
#5 app/code/core/Mage/Adminhtml/Block/Widget/Form.php(144): Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes->_prepareForm()
#6 app/code/core/Mage/Core/Block/Abstract.php(862): Mage_Adminhtml_Block_Widget_Form->_beforeToHtml()
#7 app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tabs.php(79): Mage_Core_Block_Abstract->toHtml()
#8 app/code/core/Mage/Core/Block/Abstract.php(238): Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs->_prepareLayout()
#9 app/code/core/Mage/Core/Model/Layout.php(456): Mage_Core_Block_Abstract->setLayout(Object(Mage_Core_Model_Layout))
#10 app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('adminhtml/catal...', 'product_tabs')
#11 app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('adminhtml/catal...', 'product_tabs')
#12 app/code/core/Mage/Core/Model/Layout.php(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#13 app/code/core/Mage/Core/Model/Layout.php(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#14 app/code/core/Mage/Core/Controller/Varien/Action.php(344): Mage_Core_Model_Layout->generateBlocks()
#15 app/code/core/Mage/Core/Controller/Varien/Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#16 app/code/core/Mage/Adminhtml/Controller/Action.php(275): Mage_Core_Controller_Varien_Action->loadLayout(Array, true, true)
#17 app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php(207): Mage_Adminhtml_Controller_Action->loadLayout(Array)
#18 app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_Catalog_ProductController->newAction()
#19 app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('new')
#20 app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#21 app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#22 app/Mage.php(683): Mage_Core_Model_App->run(Array)
#23 index.php(124): Mage::run('catalog', 'website')
#24 {main}

Magento ver. 1.7.0.0 Der Compiler hat den gelöschten Cache-Neuaufbau-Index deaktiviert. Es wurden keine Updates oder neuen Erweiterungen installiert. Es funktioniert einfach nicht mehr

Jede Hilfe wäre dankbar!


1
Nach meinem Verständnis wird dies durch den Cache verursacht. Sind Sie sicher, dass er gelöscht wurde? Wie hast du es geklärt?
Peter O'Callaghan

Ich habe die Cache-Verwaltung unter System - Flush Magento Cache und Flush Cache Storage verwendet. Gibt es eine Möglichkeit zu überprüfen, ob der Cache geleert wurde?
Littleredsunshine

Wenn Sie den dateibasierten Cache verwenden, prüfen Sie, ob sich etwas im var/cacheVerzeichnis befindet. Wenn dies der Fall ist, löschen Sie alles im Ordner.
Peter O'Callaghan

Versuchte das, immer noch Fehler. Ganz oben auf dem Bildschirm befindet sich auch ein Verweis auf den Linux-Site-Namen 3.8.0-41-generic # 60 ~ exact1-Ubuntu SMP Fri May 16 00:18:00 UTC 2014 x86_64 Vielen Dank für Ihre schnellen Antworten und Ihre Hilfe!
Littleredsunshine

Antworten:


16

Dieser Fehler ist auf leere Werte in der Registrierung zurückzuführen.

Um dies zu verhindern, müssen Sie den Kompilierungsmodus deaktivieren. Wenn Sie ihn verwenden möchten, führen Sie ihn erneut aus.

php -f shell/compiler.php disable
php -f shell/compiler.php clear
php -f shell/compiler.php compile

Es wurde versucht, den Compiler zu löschen und zu deaktivieren, und der Fehler wird weiterhin angezeigt. Alle anderen Ideen wäre dankbar.
Littleredsunshine

Run Compilation funktioniert !!!
MageDev

Abhishek du bist mein Held! Dieser Beitrag behebt ein Problem, bei dem ich Stunden mit ähnlichen Fehlern wie oben beschrieben verbracht habe. Kompilieren vom Admin-Panel verursacht Fehler. Aber von der Kommandozeile aus zu laufen hat gut funktioniert :)
MagentoMac

4

Überprüfen Sie, ob der XML-Code Ihres Event Observer-Moduls config.xmlkorrekt ist.

Es sollte ungefähr so ​​aussehen:

<events>
    <event_name_that_you_are_working_on>
        <observers>
            <some_unique_identifier>
                <type>singleton</type>
                <class>YourNamespace_YourModule_Model_Observer</class>
                <method>functionNameInYourObserver</method>
            </some_unique_identifier>
        </observers>
    </event_name_that_you_are_working_on>
</events>

Ich habe einmal diese Art von Fehler bekommen, weil ich modulename/observerinnerhalb des Klassenknotens verwendet habe. Die Verwendung des vollständigen Klassennamens ( YourNamespace_YourModule_Model_Observer) hat den Fehler für mich behoben.

Im Event-Observer-XML-Code Ihres Moduls verwenden Sie möglicherweise classFolgendes:

<class>yourmodule/observer</class>

Versuchen Sie es stattdessen mit folgendem Code (wie im obigen XML-Code von Event-Observer):

<class>YourNamespace_YourModule_Model_Observer</class>

1
  1. Deaktivieren Sie die Erweiterung aus dem app\etc\moduelsVerzeichnis.
  2. Cache leeren und
  3. Führen Sie die Kompilierung aus.

Jetzt wird es gut funktionieren.


0

Deaktivieren Sie zuerst die Kompilierung und den Cache.

Und löschen Sie den gesamten Cache mit Nachdruck.

Dann installieren Sie Extension.

Danach führen Sie den Kompilierungsprozess aus.

Der obige Prozess hat bei mir funktioniert.


0

Um die Kompilierung in Magento zu deaktivieren, bearbeiten Sie die Datei includes / config.php. In etwa Zeile 28 die erste Zeile auskommentieren und die zweite auskommentieren:

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.