A chave de registro do Mage “_singleton / weee / observer” já existe

13

Quando tento adicionar ou editar um produto, recebo o seguinte erro:

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 Compilador desativado índice de reconstrução do cache limpo nenhuma atualização ou novas extensões foram instaladas, apenas parou de funcionar

Qualquer ajuda seria apreciada!

littleredsunshine
fonte
1
Pelo meu entendimento, isso é causado pelo cache, você tem certeza de que está limpo? Como você limpou isso?
Peter O'Callaghan
Usei o Gerenciamento de cache em Sistema - Flush Magento Cache e Flush Cache Storage. Existe uma maneira de verificar se o cache foi liberado?
Littleredsunshine
Supondo que você use o cache baseado em arquivo, verifique se há algo dentro do var/cachediretório; se houver, exclua tudo na pasta.
Peter O'Callaghan
Tentei isso, ainda recebendo erros. No topo da tela, há também uma referência ao nome do site do Linux 3.8.0-41-generic # 60 ~ specific1-Ubuntu SMP sex 16 de maio 00:18:00 UTC 2014 x86_64 Obrigado por suas respostas rápidas e sua ajuda!
Littleredsunshine

Respostas:

16

Este erro chegou devido a valores vazios no registro.

Para evitá-lo, você precisa desativar o modo 'compilação' e, se quiser usá-lo, execute-o novamente.

php -f shell/compiler.php disable
php -f shell/compiler.php clear
php -f shell/compiler.php compile
Abhishek Gupta
fonte
Tentei limpar e desabilitar o compilador e ainda obter o erro. Quaisquer outras ideias seriam apreciadas.
Littleredsunshine
Executar compilação funciona !!!
precisa saber é o seguinte
Abhishek você é meu herói! Esta postagem corrigiu um problema em que passei horas com erro semelhante ao da postagem acima. Compilando no painel de administração, causando erro. Mas correr a partir da linha de comando funcionou bem :)
MagentoMac
4

Verifique se o código xml do seu observador de eventos no módulo config.xml está correto.

Deve ser algo como isto:

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

Certa vez, recebi esse tipo de erro porque estava usando o modulename/observernó da classe interna. Usando o nome completo da classe (YourNamespace_YourModule_Model_Observer ) resolveu o erro para mim.

No código xml de observador de eventos do seu módulo, você pode usar o classseguinte:

<class>yourmodule/observer</class>

Tente usar isso em vez disso (como feito no código xml do observador de eventos acima):

<class>YourNamespace_YourModule_Model_Observer</class>
Mukesh Chapagain
fonte
1
  1. Desabilite a extensão do app\etc\moduelsdiretório.
  2. Limpar cache e
  3. Execute a compilação.

Agora, vai funcionar bem.

MageDev
fonte
0

Primeiro desabilite a compilação e o cache.

E limpe todo o cache com força.

Em seguida, instale a extensão.

Depois disso, execute o processo de compilação.

O processo acima funcionou para mim.

Roshni
fonte
0

Para desativar a compilação no Magento, edite inclui / config.php. Por volta da linha 28, remova o comentário da primeira linha e comente a segunda:

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
Minakshi Agrawal
fonte