Symptoms
After updating Magento from 1.4.1.1 to 1.4.2.0, the frontend homepage was not loading, spitting out this error message instead:
Invalid backend model specified: catalog/attribute_backend_customlayoutupdate
This happens with and without compilation, but after you disabled compilation you get at least a stacktrace with correct references to files:
#0 /var/www/vhosts/example.com/httpdocs/app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php(338): Mage::exception('Mage_Eav', 'Invalid backend...')
#1 /var/www/vhosts/example.com/httpdocs/app/code/core/Mage/Eav/Model/Entity/Abstract.php(619): Mage_Eav_Model_Entity_Attribute_Abstract->getBackend()
#2 /var/www/vhosts/example.com/httpdocs/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1461): Mage_Eav_Model_Entity_Abstract->walkAttributes('backend/afterLo...', Array)
#3 /var/www/vhosts/example.com/httpdocs/app/code/core/Mage/Eav/Model/Entity/Abstract.php(901): Mage_Eav_Model_Entity_Abstract->_afterLoad(Object(Mage_Catalog_Model_Category))
#4 /var/www/vhosts/example.com/httpdocs/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Abstract.php(647): Mage_Eav_Model_Entity_Abstract->load(Object(Mage_Catalog_Model_Category), '2', NULL)
The error message seems to refer to be related to the product description attribute “custom_layout_update”, which is provided by Magento itself, and is a “Textarea” attribute, no boolean at all. The error seems to be caused by database content of the Magento 1.4.1.1 version that does not match with something in the code of the 1.4.2.0 version to which this installation has been updated.
Solutions
- A complete reinstallation of Magento 1.4.2.0 from scratch, not taking over the current content of the database. This was done in the case referred to here, as the shop was in testing mode still.
- Probably, this could be fixed by directly editing database content, in analogy to a fix for a similar error: go to table
eav_attributeand edit all records where columnbackend_modelcontainscatalog/attribute_backend_customlayoutupdate. Which normally is one record, or two if you use a localization package. Simply completely delete thatbackend_modelvalue, as it is unclear what belongs there. (It would have to be looked up in a fresh Magento 1.4.2.0 installation).
Leave a Reply