0

偶尔我会收到以下通知:

Notice: Undefined index:  title  in /opt/ocentric/magento/app/code/core/Mage/Reports/Model/Mysql4/Report/Collection.php on line 126

丑陋的事情是它使 system.log 文件变得很大。一旦发生,通知日志将进入无限循环。我不知道是什么触发了它。

通过 getIntervals() 方法,这个问题似乎与报告中的日期范围过滤有关,但我不知道如何$t保持未设置。

有什么想法吗?

谢谢!

4

1 回答 1

2

在 Magento 1.7 中,该类已被移动,因此我不确定它发生了多大变化。假设方法结构几乎没有变化,唯一$t['title']无法设置的方法是 _period 不是“日”、“月”或“年”。就个人而言,我会在类中添加一些调试代码,以便在 switch 语句之后执行以下操作:

if ( ! isset($t['title'])) {
    Mage::log('Period is '.$this->_period);
}

下次发生错误时,您应该希望看到一个意外的值(它可能以某种方式为 null,导致一个空字符串)。从那里您将获得一些更好的信息进行调试。您还可以记录调试回溯,它可能很有用。

于 2012-10-05T14:57:06.850 回答