菜鸟首页 > 建站教程 > CMS教程phpcms内容标签lists调用点击量跟评论量

phpcms内容标签lists调用点击量跟评论量

2016-08-04 17:34 来源:菜鸟模板 作者:youwo
浏览 0 评论

phpcms的lists标签只能调用到文档的列表,并不能直接调用点击量、评论量,如果要调用这些数据,我们就得再另外调用了。

PHPCMS内容标签lists调用点击量、评论量的方法

{pc:content action="lists" catid="6" num="10" order="id DESC"}
<ul>
{php $categorys = getcache('category_content_'.$siteid,'commons');$category = $categorys[$r[catid]];$modelid = $category['modelid'];}
{php $hits_db = pc_base::load_model('hits_model');}
{php $comment_db = pc_base::load_app_class("comment_tag","comment");}
{loop $data $r}
{php $hits = $hits_db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $hits[views];}
{php $comment = $comment_db->count(array('commentid'=>'content_'.$r[catid].'-'.$r[id].'-'.$modelid));}
<li><a target="_blank" href="{$r['url']}">{$r['title']}</a><span>点击:{$views}</span><span>评论:{$comment}</span></li>
{/loop}
</ul>
{/pc}

首先在loop前加上模型ID获取以及加载相关的model文件,千万不要把这些放在loop里,循环起来效率就低了。然后就在loop里,加上相关的读取了。

这种方式效率不是很高,如果列表数据10条,会多出20个SQL查询,影响HTML生成速度。网站数据不多的话,大家可以用这个方法。

最好的方法是修改内容标签文件的lists方法,以文档的id批量查询,这样就只多出了2个SQL查询。需要这种方式的请联系QQ80069484,收费处理。

来说两句吧