移动了magento站点,当我尝试访问后端>配置时出现致命错误


Moved magento site & get a fatal error when I try to access the backend > config

我将现有的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_urlweb/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;
}

上面的@waldek_c评论确实帮助我解决了这个问题,但我想我自己提出了一个答案来完成这个问题,以防其他人遇到类似的事情。

错误消息本身将我指向该问题。

Mage_Adminhtml_Block_Widget_Form_Renderer_Fieldset_Element是导致问题的文件的路径。 事实证明,当我上传网站时,文件没有正确上传。