PHPCMS程序自带的调用标签在默认状态下无法在列表和首页调用文章的浏览次数,但是某些时候我们需要显示浏览次数,我们该如何操作呢?我们从简单的开始-列表页面调用文章点击数,代码如下:
{pc:content action="lists" catid="$catid" num="15" order="id DESC" page="$page"} <div class="recent-article"> <ul class="mod-article-list" style="margin-top:10px;"> {loop $data $r} {php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; } <li class="post-home" style="width:203px;"> <div class="post-thumbnAIl"> <a class="img" href="{$r[url]}" title="{$r[title]}" target="_blank"><img src="{$r['thumb']}" width="201" height="280" /></a> </div> <div class="post-title"><a href="{$r[url]}" title="{$r[title]}" target="_blank">{$r[title]}</a></div> <div class="fields"> <span><i class="view icon"></i>{$views} 次</span> <span style="float:right;"><i class="time icon"></i>{date('m/d',$r[inputtime])}</span> </div> </li> {/loop} </ul> </div> <div style="clear:both;"></div> <div class="pages"><ul class="page-list">{$pages}</ul></div> {/pc}
代码中的重点就是loop标签下的如下代码:
{php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; }
然后只需在需要显示浏览次数的地方放上{$views}即可,效果如下图所示:
下面我们来看如何在网站首页调用文章点击数,代码如下:
{pc:content action="lists" catid="n" num="10" order="id DESC"} {php $categorys = getcache('category_content_'.$siteid,'commons');} {php $category = $categorys[$r[catid]];}{php $modelid = $category['modelid'];} <ul class="mod-article-list"> {loop $data $r} {php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; } <li class="post-home"> <div class="post-thumbnail"><a class="img" href="{$r[url]}" title="{$r[title]}" target="_blank"><img src="{$r['thumb']}" width="203" height="280" /></a></div> <div class="post-title"><a href="{$r[url]}" title="{$r[title]}" target="_blank">{$r[title]}</a></div> <div class="fields"> <span><i class="view icon"></i>{$views} 次</span> <span style="float:right;"><i class="time icon"></i>{date('m/d',$r[inputtime])}</span> </div> </li> {/loop} <div style="clear:both;"></div></ul> {/pc}
上面的代码和列表页调用代码差不太多,只是在loop标签前增加了三行代码:
{php $categorys = getcache('category_content_'.$siteid,'commons');} {php $category = $categorys[$r[catid]];} {php $modelid = $category['modelid'];}
事实上这三行代码放置的位置可以非常灵活,只要出现在首页模板中即可,可以不在pc标签内,比如:大多数时候,我们在首页不仅调用一个栏目内容,可能会调用多个,这样的话,只要将上面的三行代码单独拿出来,放在<body>标签后即可,这样的话,多出显示点击数,仅需写一段代码即可!调用代码中的“n”代表你需要调用的栏目catid编号,请自行修改。
注:大家要仔细分析代码,确保代码完整。