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!

kleiner Sonnenschein
quelle
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
Abhishek Gupta
quelle
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>
Mukesh Chapagain
quelle
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.

MageDev
quelle
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.

Roshni
quelle
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');
Minakshi Agrawal
quelle