解决 ECMall 错误 Call to a member function get() on a non-object in frontend.base.php

Fatal error:  Call to a member function get() on a non-object in frontend.base.php on line 39

这一行的源代码如下:

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

产生这个错误的原因很可能是$this->visitor这个对象未正确实例化。
解决这个问题,我的办法很简单,加入对变量的检查,以下是我修改后的内容:

$this->assign('cart_goods_kinds', is_object($cart) && is_object($this->visitor) ? $cart->get_kinds(SESS_ID, $this->visitor->get('user_id')) : 0);

你可能感兴趣的:(ecmall,ecmall,fatal,error)