当我提交站点地图时,管理员端突然出现白屏。这是我的错误日志显示的内容。
PHP Fatal error: Call to a member function getId() on a non-object in /home/investor/public_html/yourvaporizers.com/app/code/core/Mage/Adminhtml/controllers/SitemapController.php on line 99
PHP Fatal error: Call to a member function getCollection() on a non-object in /home/investor/public_html/yourvaporizers.com/includes/src/Mage_Adminhtml_Block_Sitemap_Grid.php on line 47
不是编码员,所以不知道如何解决这个问题。
更新 - 我应该添加整个错误代码。
Stack trace:
0 /home/investor/public_html/yourvaporizers.com/includes/src/__default.php(63823): PDOStatement->execute(Array)
1 /home/investor/public_html/yourvaporizers.com/includes/src/Varien_Db_Statement_Pdo_Mysql.php (110): Zend_Db_Statement_Pdo->_execute(Array)
2 /home/investor/public_html/yourvaporizers.com/includes/src/__default.php(63411): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
3 /home/investor/public_html/yourvaporizers.com/includes/src/__default.php(52806): Zend_Db_Statement->execute(Array)
4 /home/investor/public_html/yourvaporizers.com/includes/src/__default.php(53842): Zend_Db_Adapter_Abstract->query('SELECT `mg_core...', Array)
5 /home/investor/public_html/yourvaporizers.com/includes/src/__default.php(54687): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `mg_core...', Array)
6 /home/investor/p in /home/investor/public_html/yourvaporizers.com/includes/src/__default.php on line 63829
[07-Apr-2014 07:51:25 UTC] PHP Fatal error: Call to a member function getCollection() on a non-object in /home/investor/public_html/yourvaporizers.com/includes/src/Mage_Adminhtml_Block_Sitemap_Grid.php on line 47
[07-Apr-2014 07:51:28 UTC] PHP Fatal error: Call to a member function getId() on a non-object in /home/investor/public_html/yourvaporizers.com/app/code/core/Mage/Adminhtml/controllers/SitemapController.php on line 99
[07-Apr-2014 07:51:32 UTC] PHP Fatal error: Call to a member function getCollection() on a non-object in /home/investor/public_html/yourvaporizers.com/includes/src/Mage_Adminhtml_Block_Sitemap_Grid.php on line 47
[07-Apr-2014 08:07:18 UTC] PHP Fatal error: Call to a member function getCollection() on a non-object in /home/investor/public_html/yourvaporizers.com/includes/src/Mage_Adminhtml_Block_Sitemap_Grid.php on line 47
[07-Apr-2014 10:03:37 UTC] PHP Fatal error: Class 'Mage_Sitemap_Model_Sitemap' not found in /home/investor/public_html/yourvaporizers.com/app/code/community/Creare/CreareSeoCore/Model/Sitemap/Sitemap.php on line 4
最佳答案
这是该文件的第 99 行
#File: app/code/core/Mage/Adminhtml/controllers/SitemapController.php
$this->_title($model->getId() ? $model->getSitemapFilename() : $this->__('New Sitemap'));
因此,看起来 Magento 正试图在 $model
变量上调用 getId
,但 $model
不是一个对象。如果我们查看分配/定义 $model
的位置,在库存系统中,我们会看到
#File: app/code/core/Mage/Adminhtml/controllers/SitemapController.php
$model = Mage::getModel('sitemap/sitemap');
那么,您的错误可能有两个原因。首先,您或其他人在您的 Magento 系统中安装了一个扩展,它做了一些事情(类重写、行为更改),在尝试实例化 sitemap/sitemap
模型时导致了可恢复的错误。这导致 $model
为 false
,并导致您的错误。
第二个是有人更改了此文件或站点地图模型文件(在 core
或代码池之一 community
、local
) 并做了一些导致 $model
未定义的事情。
调试步骤包括比较新下载的副本,以及禁用与站点地图功能相关的任何扩展(或最近安装的)。至于
Not a coder so have no clue how to fix this.
更好的问题可能是
Why is a non-coder working with a system that, for years, has proven you need to be a coder (or willing to learn) to work with.
关于php - Magento 站点地图导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899025/