单独使用ecmall站内消息是正常的,可是整合ucenter后,站内消息就无法使用了,点击消息提示“没有该短信息”的错误。纳闷,百度了一大堆资料,终于找出原因所在了。

只需要修改两处,即可几角此问题。

步骤一:找到根目录下的uc_client/modelpm.php 44行

将$pm = $this->db->fetch_first(“SELECT * FROM “.UC_DBTABLEPRE.”pm_indexes i LEFT JOIN “.UC_DBTABLEPRE.”pm_lists t ON t.plid=i.plid WHERE i.pmid=’$pmid'”);

修改为$pm = $this->db->fetch_first(“SELECT * FROM “.UC_DBTABLEPRE.”pm_indexes i LEFT JOIN “.UC_DBTABLEPRE.”pm_lists t ON t.plid=i.plid WHERE i.plid=’$pmid'”);

步骤二:找到根目录下的include/passports/uc.passport.php 514行

foreach ($rs['data'] as $value)
        {
            $result[$value['pmid']]['from_id'] = $value['msgfromid'];
            $result[$value['pmid']]['to_id'] = $value['msgtoid'];
            $result[$value['pmid']]['new'] = $value['new'];
            $result[$value['pmid']]['last_update'] = $value['dateline'];
            $result[$value['pmid']]['msg_id'] = $value['pmid'];    
            $result[$value['pmid']]['content'] = $value['subject'];
        }

修改为

if(is_array($rs['data'])){
         foreach ($rs['data'] as $value){
             $result[$value['pmid']]['from_id'] = $value['msgfromid'];
             $result[$value['pmid']]['to_id'] = $value['msgtoid'];
             $result[$value['pmid']]['new'] = $value['new'];
             $result[$value['pmid']]['last_update'] = $value['dateline'];
             $result[$value['pmid']]['msg_id'] = $value['pmid'];   
             $result[$value['pmid']]['content'] = $value['subject'];
        }

经过上面两步代码的修改,进入后台更新缓存,你再试试,点击站内消息提示“没有该短消息的问题是不是已经得到解决了呢?困扰我的问题解决了,现在分享给遇到同样问题的小伙伴。