arclist
织梦并没有一个独立的“热门文章”标签,而是通过在文章列表标签 arclist 中使用 orderby 和 click 参数来实现。
基本调用方法(按点击量排序)
这是最基础也是最常用的方法,它会调用出全站点击量最高的文章。
{dede:arclist orderby='click' titlelen='30' row='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>(点击:[field:click/])</span>
</li>
{/dede:arclist}
标签解析:
{dede:arclist ...}: 这是织梦的文章列表调用标签。orderby='click': 这是核心参数,它告诉织梦按照文章的点击量进行排序。click就是点击量的字段名,len='30'`: 设置文章标题的长度,最多显示30个字符(一个汉字算一个字符)。row='10': 设置调用文章的数量,这里调用10篇。[field:arcurl/]: 调用文章的链接地址。[field:title/]:调用文章的标题。[field:click/]: 调用文章的点击量。
常用参数详解
您可以根据需要组合使用以下参数,实现更灵活的调用。
排序方式 (orderby)
除了 click,orderby 还可以配合其他参数使用:
orderby='click': 按点击量从高到低 (热门)orderby='click DESC': 按点击量从高到低 (同上,DESC降序)orderby='click ASC': 按点击量从低到高 (冷门)orderby='pubdate': 按发布日期排序 (默认)orderby='hot'或orderby='hotrank': 按热度值排序 (热度值 = 点击量 + 评论数 * 权重 + ...)orderby='pubdate DESC': 按发布日期倒序 (最新发布)
调用范围 (typeid, channelid, flag)
typeid='1,2,3': 只调用指定ID栏目下的文章,只调用栏目ID为1和2下的热门文章。typeid='top': 调用顶级栏目下的文章。channelid='1': 只调用指定模型ID的文章。channelid='1'通常代表文章模型。flag='h': 只调用带有“头条”标识的文章,调用“头条”中的热门文章,多个标识用逗号隔开,如flag='h,c'。
(titlelen, infolen, imgwidth, imgheight)
len='50'`: 标题长度,50个字符。
infolen='100': 内容摘要长度,100个字符。imgwidth='120': 缩略图宽度。imgheight='90': 缩略图高度。
其他常用参数
subday='30': 调用指定天数内的热门文章。orderby='click' subday='30'表示调用最近30天内发布的热门文章。limit='start,len': 从第start篇开始,共调用len篇。limit='5,10'表示从第6篇开始,调用10篇(即第6到15篇)。idlist='': 调用指定文章ID列表,用逗号隔开。idlist='1,3,5'。noflag='': 排除带有某些标识的文章。noflag='h'表示不调用带有“头条”标识的文章。
综合实例
实例1:调用全站点击最高的10篇文章(带标题和点击数)
<h3>全站热门文章</h3>
<ul>
{dede:arclist orderby='click' row='10' titlelen='40'}
<li>
<span class="title"><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></span>
<span class="click-count">点击: [field:click/]</span>
</li>
{/dede:arclist}
</ul>
实例2:调用“科技”栏目(假设ID为3)下最近30天内的热门文章(带缩略图)
<h3>科技栏目热门文章</h3>
<ul class="article-list">
{dede:arclist typeid='3' orderby='click' subday='30' row='6' imgwidth='150' imgheight='112'}
<li>
<a href="[field:arcurl/]">
<img src="[field:picname/]" alt="[field:title/]" width="150" height="112"/>
<span class="title">[field:title/]</span>
</a>
</li>
{/dede:arclist}
</ul>
实例3:调用带有“推荐”标识(flag='c')的热门文章
<h3>编辑推荐</h3>
<ol>
{dede:arclist flag='c' orderby='click' row='5'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:arclist}
</ol>
高级技巧:手动更新点击量(重要)
您可能会发现文章的点击量没有变化,或者新发布的文章点击量很高但排不上去,这可能是因为织梦的点击量更新机制问题。
方法:手动更新所有文章的点击量
-
登录您的织梦后台。
-
进入 “系统” -> “系统设置” -> “SQL命令行工具”。
-
在“命令行执行”文本框中,输入以下SQL语句:
UPDATE `dede_archives` SET click=Rand()*1000;
说明:
dede_archives是织梦默认的文章数据表前缀,如果您修改过,请使用您自己的前缀。Rand()*1000是一个随机函数,会给每篇文章分配一个 0 到 1000 之间的随机点击数,这样可以让所有文章都有一个初始的、不同的点击量,方便测试排序。- 如果您想将所有文章的点击量清零,可以使用:
UPDATE `dede_archives` SET click=0;
-
点击“查询”或“执行”按钮。
执行后,刷新您的网站,热门文章列表就会按照新的点击量进行排序了。
调用织梦热门文章,关键在于掌握 arclist 标签的 orderby='click' 参数,通过结合 typeid、subday、flag 等其他参数,您可以精确地控制调用哪些文章、在什么时间范围内的文章,以及显示哪些内容,如果遇到点击量不更新的问题,可以尝试使用SQL命令手动更新数据。
