我将现有的Magento网站移至我的托管帐户进行开发工作,但当我尝试访问除管理仪表板以外的网站后端的任何位置时,我收到以下错误:
Fatal error: Class 'Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element' not found in /magento/app/code/core/Mage/Core/Model/Layout.php on line 491
在数据库core_config_data table
中,我更改了web/unsecure/base_url
和web/secure/base_url
以匹配新域名。
在.htaccess
文件中,我更改了RewriteBase /
以使用新的文件夹路径。
我得到的错误是指Layout.php文件中的第491行,它是以下函数的第4个if
子句:
/**
* Create block object instance based on block type
*
* @param string $block
* @param array $attributes
* @return Mage_Core_Block_Abstract
*/
protected function _getBlockInstance($block, array $attributes=array())
{
if (is_string($block)) {
if (strpos($block, '/')!==false) {
if (!$block = Mage::getConfig()->getBlockClassName($block)) {
Mage::throwException(Mage::helper('core')->__('Invalid block type: %s', $block));
}
}
if (class_exists($block, false) || mageFindClassFile($block)) {
$block = new $block($attributes);
}
}
if (!$block instanceof Mage_Core_Block_Abstract) {
Mage::throwException(Mage::helper('core')->__('Invalid block type: %s', $block));
}
return $block;
}
答案 0 :(得分:0)
@waldek_c上面的评论确实帮我解决了这个问题,但我想我自己回答了一个问题,以防其他人碰到类似的东西。
错误信息本身就指向了我。
Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element
是导致问题的文件的路径。事实证明,当我上传网站时,文件没有正确上传。