muban大师 发表于 2020-12-19 14:51:52

Dedecms独立模型的文章页点击次数的调用与更新

Dedecms独立模型的文章页点击次数调用代码:
       
        次
       
        在dedecms的文章页调用点击次数的代码是:次。但是用这个代码在独立模型的文章页是无法调出的。打开/plus/cont.php可以看到以下代码:
       
        //UpdateStat();
        if(!empty($maintable))
        {
        $dsql->ExecuteNoneQuery(" Update `{$maintable}` set click=click+1 where {$idtype}='$aid' ");
        }
        if(!empty($mid))
        {
        $dsql->ExecuteNoneQuery(" Update `jcode_member_tj` set pagecount=pagecount+1 where mid='$mid' ");
        }
        if(!empty($view))
        {
        $row= $dsql->GetOne(" Select click From `{$maintable}`where {$idtype}='$aid' ");
        if(is_array($row))
        {
        echo"document.write('".$row['click',."');\r\n";
        }
        }
       
        可以看到是这段sql语句Update `{$maintable}` set click=click+1 where {$idtype}=’$aid’来增加点击次数的,其中{$maintable}就是我们新建的独立模型的表,那这个{$maintable}是指哪个表呢,往上看,是在这里
       
        //获得频道模型ID
        if($cid
        {
        $row= $dsql->GetOne("SELECT addtable FROM `jcode_channeltype` WHERE id='$cid' AND issystem='-1';");
        $maintable= empty($row['addtable',)? '': $row['addtable',;
        $idtype='aid';
        }
       
        $maintable的值取决于id=’$cid’,那$cid呢,再往上看,是在这里
       
        $cid= empty($cid)? 1 : intval(preg_replace("/[^-\d,+[^\d,/",'', $cid));
       
        可是再往上看,就没有了,说明需要在该页面GET传channel(独立模型的id)的值过来,所以呢,在普通文章的文章页调用的次数的代码中再增加一个参数$cid,值是多少呢?我们知道,在文章页调用channelid的代码是{dede:field name=’channel’/},所以综上,
       
        Dedecms独立模型的文章页点击次数调用代码是:
       
        次
页: [1]
查看完整版本: Dedecms独立模型的文章页点击次数的调用与更新