首页 › 程序设计 › php

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

泡在网上的日子 / 文 发表于2014-10-13 22:11 次阅读 dedecms

Dedecms独立模型的文章页点击次数调用代码:

1
<script src="/plus/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}&cid={dede:field name='channel'/}"type='text/javascript'language="javascript"></script>次

在dedecms的文章页调用点击次数的代码是:<script src=”{dede:field name=’phpurl’/}/count.php?view=yes&aid={dede:field name=’id’/}&mid={dede:field name=’mid’/}” type=’text/javascript’ language=”javascript”></script>次。但是用这个代码在独立模型的文章页是无法调出的。打开/plus/cont.php可以看到以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//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}是指哪个表呢,往上看,是在这里

1
2
3
4
5
6
7
//获得频道模型ID
if($cid< 0)
{
$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呢,再往上看,是在这里

1
$cid= empty($cid)? 1 : intval(preg_replace("/[^-\d]+[^\d]/",'', $cid));

可是再往上看,就没有了,说明需要在该页面GET传channel(独立模型的id)的值过来,所以呢,在普通文章的文章页调用的次数<script src=”{dede:field name=’phpurl’/}/count.php?view=yes&aid={dede:field name=’id’/}&mid={dede:field name=’mid’/}” type=’text/javascript’ language=”javascript”></script>的代码中再增加一个参数$cid,值是多少呢?我们知道,在文章页调用channelid的代码是{dede:field name=’channel’/},所以综上,

Dedecms独立模型的文章页点击次数调用代码是:

1
<script src="/plus/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}&cid={dede:field name='channel'/}"type='text/javascript'language="javascript"></script>次
收藏 赞 (0) 踩 (0)
上一篇:dedecms独立模型分页功能的完善
dedecms其实在架构方面没什么问题,但是估计里面有些功能是新手做的吧,有很多待完善的地方,比如分页功能,从代码可以直接看出当时的负责人有敷衍了事的心里。 dede的分页如果有两个页码显示的话,无法显示出总的文章数,举个例子: 在普通文章模型下面,列
下一篇:dede自定义模型如何使用软件模型中下载地址softlinks字段的数据类型。
dede软件模型的软件发布之后,在软件详情界面可以直接生成软件的下载链接,并且下载之后该软件的下载次数会更新,如下图: 这是因为软件模型的软件地址 字段使用的是“系统专用类型” 。 但是这个“系统专用类型”在我们自己自定义字段的时候并没有这个选项