怎么调用热点文章?$hot 是从哪来的,能调几条?

已解决 提问于 2026-10-25 提问者:超级管理员 11 次阅读

侧栏想放"热门文章"排行,模板里有现成的变量吗?还是要自己写 SQL?

回答(1)

已采纳最佳答案
  • 2026-10-25 回答 最佳答案

    有现成的:$hot,首页和栏目页都直接可用。

    {if !empty($hot)}
    <ol>
      {loop $hot as $h}
      <li><a href="{$h.url}">{$h.title|limit=26}</a>
          <span>{$h.views}</span></li>
      {/loop}
    </ol>
    {/if}

    它的取值逻辑:从当前页已经取出的列表里按浏览量排序取前 5 条,不额外查库——所以百万、亿级数据下也不会多一次 ORDER BY views 的全表扫描。

    因此它有两个特点,用之前要知道:

    1. 范围是"本页内容",不是全站总排行(要全站排行得自己写查询或用插件);
    2. 默认 5 条,数量在控制器里定,模板里改不了。

    详情页没有 $hot,但有 $related(相关阅读),详情页侧栏推荐用它更合适。

写回答

该问题已解决,不再接受新的采纳。