直接上图。
其实核心还是用到3.8的问答系统模板里新增的函数getlistbysql
{eval $cat1questionlist=$this->getlistbysql("select * from ".$this->db->dbprefix."question where cid='调用分类id'order by answers desc limit 0,10");}
表示是或者指定分类下的问题列表,然后存储到$cat1quesitonlist对象数组里。
这样直接通过loop方式循环对象,然后打印内容到html标签里赋值。
全部样例代码我贴出来
<ul>
<!--一次取10条,默认-->
{eval $cat1questionlist=$this->getlistbysql("select * from ".$this->db->dbprefix."question where cid='调用分类id'order by answers desc limit 0,10");}
<!--如果当前分类id下问题存在就显示-->
{if $cat1questionlist}
<!--循环显示加载获取的问题对象数组,$index索引从0开始,$myquestion为自己命名的问题对象-->
{loop $cat1questionlist $index $myquestion}
<li>
<a href="{url question/view/$myquestion['id']}">{$myquestion['title']}</a>
</li>
{/loop}
{/if}
</ul>
上面代码中的$myquesion是自定义的,其实来自数据库表中的每一行记录