Ecmall 遇到错误Fatal error: Call to a member function get() on a non-object

  • Post author:
  • Post category:其他


在做Ecmall二次开发的时候遇到一个很奇葩的问题:

访问别的控制器的时候都没有问题,访问http://db.3322.org/index.php?api=user&act=test_login   user控制器的时候每次都会爆出错误:


Fatal error: Call to a member function get() on a non-object in D:\xampp\htdocs\dabolo\app\frontend.base.php on line

45

查看提示的错误文件的代码:

function display($tpl)

{


$cart =& m(‘cart’);


$this->assign(‘cart_goods_kinds’, $cart->get_kinds(SESS_ID, $this->visitor->get(‘user_id’)));


/* 新消息 */

$this->assign(‘new_message’, isset($this->visitor) ? $this->_get_new_message() : ”);

$this->assign(‘navs’, $this->_get_navs());  // 自定义导航

$this->assign(‘acc_help’, ACC_HELP);        // 帮助中心分类code

$this->assign(‘site_title’, Conf::get(‘site_title’));

$this->assign(‘site_logo’, Conf::get(‘site_logo’));

$this->assign(‘statistics_code’, Conf::get(‘statistics_code’)); // 统计代码

$current_url = explode(‘/’, $_SERVER[‘REQUEST_URI’]);

$count = count($current_url);

$this->assign(‘current_url’,  $count > 1 ? $current_url[$count-1] : $_SERVER[‘REQUEST_URI’]);// 用于设置导航状态(以后可能会有问题)

parent::display($tpl);

}

红色部分就是错误的地方,可是我都没有调用display()方法,怎么执行到这一步呢?

网上搜索了一下,有人说要在language文件夹下建立相应的文件,我也试过了,问题依然存在。

把所有缓存文件清掉,更改文件名称和控制器名称 ,都没有用。

最后,把原文件删了,重新创建这个文件,问题解决了。

抓狂
抓狂
坑爹,竟然是文件编码的问题,害我郁闷了好几天。



版权声明:本文为kexiaoling原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。