在使用Dedecms内容管理系统时,有时需要对部分内容模型的页面点击次数进行调整。例如,将原本既统计又显示点击次数的功能改为仅统计而不显示。这种需求可以通过修改相关代码实现。
为了达到这一目标,首先需要了解Dedecms中点击次数统计的实现方式。原始代码如下所示:

<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" language="javascript"></script>
    
这段代码会在页面上显示点击次数。然而,如果希望隐藏点击次数,网上通常建议将`view=yes`改为`view=no`。但实际上,这样的修改可能无法完全隐藏点击次数。因此,我们需要进一步检查`count.php`文件以找出问题所在。
打开`count.php`文件后,可以看到以下注释:
* 如果想显示点击次数,请增加view参数,即把下面JS调用放到文档模板适当位置 * <script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" language="javascript"></script> * 普通计数器为 * <script src="{dede:field name='phpurl'/}/count.php?aid={dede:field name='id'/}&mid={dede:field name='mid'/}" language="javascript"></script>
从注释中可以清楚地了解到,要显示点击次数,需使用带有`view=yes`的代码;而普通计数器则不需要此参数。继续查看`view`参数相关的函数逻辑:

if(!empty($view)) {
    $row = $dsql->GetOne(" SELECT click FROM `{$maintable}` WHERE {$idtype}=' $aid ' ");
    ...
}
    

通过上述代码可以看出,系统是通过判断是否存在`view`参数来决定是否查询并显示点击次数,而不是根据参数的具体值。因此,无论`view`等于什么,只要存在该参数,就会显示点击次数。要实现仅统计而不显示点击次数的效果,只需删除`view`参数即可。
最终的代码如下:

<script src="{dede:field name='phpurl'/}/count.php?aid={dede:field name='id'/}&mid={dede:field name='mid'/}" language="javascript"></script>
    

这样修改后,点击次数将被正常统计,但不会在页面上显示。这种方法简单有效,适用于需要隐藏点击次数统计结果的场景。