我已将magento网站从一台服务器http://example_old.com/移至另一台服务器http://example.com/beta/。但是在类别/产品列表页面上没有显示,只显示空白屏幕。检查错误日志时,它显示以下错误:
exception 'Mage_Core_Exception' with message 'Invalid block type: Mage_Page_Block_Header' in /var/www/vhosts/example.com/httpdocs/beta/app/Mage.php:595
Stack trace:
#0 /var/www/vhosts/example.com/httpdocs/beta/app/code/core/Mage/Core/Model/Layout.php(495): Mage::throwException('Invalid block t...')
#1 /var/www/vhosts/example.com/httpdocs/beta/app/code/core/Mage/Core/Model/Layout.php(437): Mage_Core_Model_Layout->_getBlockInstance('page/header', Array)
#2 /var/www/vhosts/example.com/httpdocs/beta/app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('page/header', 'header')
#3 /var/www/vhosts/example.com/httpdocs/beta/app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('page/header', 'header')
管理面板上会显示相同的空白屏幕。
此错误的原因是什么?在旧服务器上它运行正常。
提前致谢。
答案 0 :(得分:0)
我知道这是6个月之后,但如果你仍然需要,我有一个解决方案。
我遇到了类似的问题。我将补丁安装到我的1.9.2.1安装中,然后我的产品列表页面突然显示为空白。 和你一样,我去了日志,看到了那个错误。但我觉得这个错误与你所拥有的空白产品列表页面有很大关系。
为了处理这个错误我去了我的布局文件,我引用了标题,然后把它作为子块加载:
<reference name="header">
<block type="page/header" name="header">
<action method="setTemplate">
...
当我需要做的只是引用它时,我删除了块:
<reference name="header">
<action method="setTemplate">
这解决了错误日志,但没有解决空白产品列表页面。我不确定您正在运行的Magento版本,但我已经读过人们在版本1.9.2.2中遇到静态块短码的问题see here for details
我在某些类别中使用静态块短码。要解决这个问题(正如上面文章中的dudesjoerd所指出的那样)你必须前往System&gt;权限&gt;块:并允许您使用的任何块类型(如果有)
由于您要从服务器迁移到服务器而不是应用修补程序,我只能建议您的PHP版本不同,并且产品列表中的phtml文件中存在版本错误。
我希望这可以帮助你的伙伴!