【问题标题】:Magento Sitemap Causing ErrorMagento 站点地图导致错误
【发布时间】:2014-04-06 19:41:34
【问题描述】:

当我提交站点地图时,管理端突然出现白屏。这是我的错误日志显示的内容。

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

【问题讨论】:

    标签: php css magento magento-1.7 block


    【解决方案1】:

    这是该文件的第 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 或代码池之一communitylocal)并做了一些导致$model 未定义的事情。

    调试步骤包括对比新下载的副本,以及禁用与站点地图功能相关的任何扩展(或最近安装的)。至于

    不是编码员,所以不知道如何解决这个问题。

    更好的问题可能是

    为什么非编码人员要使用多年来已证明您需要成为编码人员(或愿意学习)才能使用的系统。

    【讨论】:

    • 我安装了一个新的扩展程序,但我真的想保留它,因为它很重要。有什么我应该做的解决方案吗?如果我上传这些文件的干净副本,扩展名不会再次出现吗?我可以阅读代码和编辑代码,但有些东西我不明白。我正在学习编码仅供参考,我仍然认为您不需要编码经验来使用 Magento,我已经使用它超过 2 年了。编码只是有帮助,如果您不是编码员,您只需要有良好的意识和良好的研究技能才能使其发挥作用。
    • 第 1 步是找出问题所在(扩展名、被黑文件等)。第 2 步是解决问题(如果可能)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    相关资源
    最近更新 更多