有一段时间我收到以下通知:
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
如何保持未设置状态。
有什么想法吗?
谢谢!
答案 0 :(得分:2)
在Magento 1.7中,该课程已被移动,因此我不确定它已经改变了多少。假设方法结构几乎没有变化,那么$t['title']
无法设置的唯一方法是_period不是'day','month'或'year'。我个人会在类中添加一些调试代码,以便在switch语句之后执行以下操作:
if ( ! isset($t['title'])) {
Mage::log('Period is '.$this->_period);
}
下次出现错误时,您应该会看到一个意外的值(它可能以某种方式为null,导致空字符串)。从那里你将有一些更好的信息来调试。您也可以记录调试回溯,它可能很有用。