La chiave di registro del mago "_singleton / weee / observer" esiste già


13

Quando provo ad aggiungere o modificare un prodotto ricevo il seguente errore:

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 Compilatore disattivato indice ricostruito cache cancellata nessun aggiornamento o nuove estensioni installate ha smesso di funzionare

Qualsiasi aiuto sarebbe apprezzato!


1
Dalla mia comprensione questo è causato dalla cache, sei sicuro che sia stato cancellato? Come l'hai cancellato?
Peter O'Callaghan,

Ho usato Cache Management in System - Flush Magento Cache e Flush Cache Storage. C'è un modo per verificare se la cache è stata svuotata?
littleredsunshine

Supponendo che tu usi la cache basata su file, controlla che ci sia qualcosa all'interno della var/cachedirectory, se c'è, elimina tutto nella cartella.
Peter O'Callaghan,

Ci ho provato, ottenendo ancora errori. Nella parte superiore dello schermo c'è anche un riferimento al sitename Linux 3.8.0-41-generic # 60 ~ precise1-Ubuntu SMP ven 16 mag 00:18:00 UTC 2014 x86_64 Grazie per le vostre risposte rapide e il vostro aiuto!
littleredsunshine

Risposte:


16

Questo errore arriva a causa di valori vuoti nel registro.

per impedirlo, è necessario disabilitare la modalità 'compilation' e, se si desidera utilizzarlo, eseguirlo nuovamente.

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

Ho provato a cancellare e disabilitare il compilatore e ancora a ottenere l'errore. Qualsiasi altra idea sarà apprezzata.
littleredsunshine,

Run Compilation funziona !!!
MageDev,

Abhishek sei il mio eroe! Questo post ha risolto un problema a cui ho passato ore con un errore simile al post precedente. Compilazione dal pannello di amministrazione che causa errori. Ma correre dalla riga di comando ha funzionato bene :)
MagentoMac,

4

Controlla se il codice XML dell'osservatore di eventi nel modulo config.xmlè tutto corretto.

Dovrebbe essere qualcosa del genere:

<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>

Una volta ho avuto questo tipo di errore perché stavo usando il modulename/observernodo class class. L'uso del nome completo della classe ( YourNamespace_YourModule_Model_Observer) ha risolto l'errore per me.

Nel codice xml dell'osservatore di eventi del tuo modulo, potresti utilizzare classcome di seguito:

<class>yourmodule/observer</class>

Prova invece ad usare questo (come fatto nel precedente codice xml dell'osservatore di eventi):

<class>YourNamespace_YourModule_Model_Observer</class>

1
  1. Disabilita l'estensione dalla app\etc\moduelsdirectory.
  2. Svuota cache e
  3. Esegui la compilazione.

Ora funzionerà benissimo.


0

Prima disabilita la compilazione e la cache.

E svuota forzatamente tutta la cache.

Quindi installare l'estensione.

Successivamente, esegui il processo di compilazione.

Il processo sopra ha funzionato per me.


0

Per disabilitare la compilazione in Magento, modifica include / config.php. Intorno alla riga 28, decommenta la prima riga e commenta la seconda:

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.