关于Thinkcmf中热门文章的使用
今天在做一个首页新闻列表页面的功能时候,因为要读取大量的新闻内容列表。如果每条数据都要从数据按照文章id和term_id来对应取值,无疑是很痛苦的。
然而机智如我,发现cmf框架中热门文章的用法:
在代码层面,文章通用的写法为:
1 <div class="tc-box"> 2 <div class="headtitle"> 3 <h2>热门文章</h2> 4 </div> 5 <div class="ranking"> 6 <php> 7 $hot_articles=sp_sql_posts("cid:$portal_hot_articles;field:post_title,post_excerpt,object_id,smeta,term_id;order:post_hits desc;limit:5;"); 8 </php> 9 <ul class="unstyled"> 10 <foreach name="hot_articles" item="vo"> 11 <php>$top=$key<3?"top3":"";</php> 12 <li class="{$top}"><i>{$key+1}</i><a title="{$vo.post_title}" href="{:leuu('article/index',array('id'=>$vo['object_id'],'cid'=>$vo['term_id']))}">{$vo.post_title}</a></li> 13 </foreach> 14 </ul> 15 </div> 16 </div>
看到默认的 hot_articles,应该是一个默认定义的热门文章。里面有一个
cid:$portal_hot_articles
应该是封装好的函数。查到的结果是这样的:
最后,在修改cid之后,成功拿到文章id和返回值