La clave de registro de mago "_singleton / weee / observador" ya existe


13

Cuando intento agregar o editar un producto, recibo el siguiente error:

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 El compilador apagó el caché borrado, el índice reconstruido, no hay actualizaciones o se han instalado nuevas extensiones, simplemente dejó de funcionar

¡Cualquier ayuda sería apreciada!


1
Según tengo entendido, esto es causado por el caché, ¿estás seguro de que está despejado? ¿Cómo lo aclaraste?
Peter O'Callaghan

Utilicé Cache Management en Sistema: Flush Magento Cache y Flush Cache Storage. ¿Hay alguna manera de verificar si el caché se ha vaciado?
littleredsunshine

Suponiendo que esté usando un caché basado en archivos, verifique que haya algo dentro del var/cachedirectorio, si lo hay, elimine todo en la carpeta.
Peter O'Callaghan

Intenté eso, todavía obtengo errores. En la parte superior de la pantalla también hay una referencia al nombre de sitio de Linux 3.8.0-41-generic # 60 ~ precisa1-Ubuntu SMP viernes 16 de mayo 00:18:00 UTC 2014 x86_64 ¡Gracias por sus respuestas rápidas y su ayuda!
littleredsunshine

Respuestas:


16

Este error llega debido a valores vacíos en el registro.

Para evitarlo, debe deshabilitar el modo 'compilación' y, si desea usarlo, vuelva a ejecutarlo.

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

Intenté borrar y deshabilitar el compilador y aún obtener el error. Cualquier otra idea sería apreciada.
littleredsunshine

Ejecutar compilación funciona !!!
MageDev

Abhishek eres mi héroe! Esta publicación solucionó un problema en el que he pasado horas con un error similar al de la publicación anterior. Compilar desde el panel de administración provocando un error. Pero correr desde la línea de comando funcionó bien :)
MagentoMac

4

Compruebe si el código xml de su observador de eventos en el módulo config.xmles correcto.

Debería ser algo como esto:

<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 vez recibí este tipo de error porque estaba usando el modulename/observernodo dentro de la clase. Usar el nombre completo de la clase ( YourNamespace_YourModule_Model_Observer) resolvió el error para mí.

En el código xml de observador de eventos de su módulo, puede estar usando lo classsiguiente:

<class>yourmodule/observer</class>

Intente usar esto en su lugar (como se hizo en el código xml de observador de eventos anterior):

<class>YourNamespace_YourModule_Model_Observer</class>

1
  1. Deshabilita la extensión del app\etc\moduelsdirectorio.
  2. Borrar caché y
  3. Ejecutar compilación.

Ahora, funcionará bien.


0

Primero deshabilita la compilación y el caché.

Y borrar todo el caché con fuerza.

Luego instale la extensión.

Después de ese proceso Ejecutar compilación.

El proceso anterior funcionó para mí.


0

Para deshabilitar la compilación en Magento, edite incluye / config.php. Alrededor de la línea 28, descomente la primera línea y comente la segunda:

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.