首页 > 代码库 > 关于Thinkcmf中热门文章的使用

关于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="http://www.mamicode.com/{: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和返回值

技术分享

 

关于Thinkcmf中热门文章的使用