彻底解决OSC的Call to a member function add_current_page() on a non-object问题

Call to a member function add_current_page() on a non-object

是OSC系统一个很常见的问题

找到 includes/application_top.php脚本

大概在310行左右

查找到:

// navigation history
if (tep_session_is_registered(’navigation’)) {
if (PHP_VERSION < 4) {
$broken_navigation = $navigation;
$navigation = new navigationHistory;
$navigation->unserialize($broken_navigation);
}
} else {
tep_session_register(’navigation’);
$navigation = new navigationHistory;
}
$navigation->add_current_page();

用以下代码替换掉以上代码段

// navigation history
if (tep_session_is_registered(’navigation’)) {
if (PHP_VERSION < 4) {
$broken_navigation = $navigation;
$navigation = new navigationHistory;
$navigation->unserialize($broken_navigation);
} else {
$navigation = new navigationHistory;
}
} else {
tep_session_register(’navigation’);
$navigation = new navigationHistory;
}

$navigation->add_current_page();

OK,再次刷新页面问题就不见了