Dedehtml.com

织梦dede:channelartlist标签按typeid排序顺序输出

摘要:织梦channelartlist标签在默认情况下它的typeid=7,3,1,2即使指定了一定顺序排列,前台页面输出却不是以typeid排列顺序来排序的。我们可以通过修改它的标签库文件来让标签支持按我们自己指定的栏目id顺序来输出

织梦channelartlist标签在默认情况下它的typeid="7,3,1,2"即使指定了一定顺序排列,前台页面输出却不是以typeid排列顺序来排序的。

我们可以通过修改它的标签库文件来让标签支持按我们自己指定的栏目id顺序来输出

打开 /include/taglib/channelartlist.lib.php 找到,大概在78或者79行

ORDER BY sortrank ASC

把它改成

$order

如图

继续找到,大概在65行

$typeids = array();

在它下面加入

$order = " ORDER BY sortrank ASC ";

如图

继续找到,大概在76行

$tpsql = " id IN($typeid) AND ispart<>2 AND ishidden<>1 ";

在它下面加入

$order = " ORDER BY FIELD(id,$typeid) ";

如图

完成,这样你的dede:channelartlist标签就能支持按自己指定的typeid排序输出了

{dede:channelartlist typeid=17,15,10,1,2,3}
<li><a href="{dede:field.typeurl/}">{dede:field.typename/}</a></li>
{/dede:channelartlist}

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/dede-channelartlist-orderby.html
(8)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏

织梦站内选择文件夹和图片文件排序后台模板管理按名称排序

Dedehtml赞(3)

织梦站内选择图片排序是直接read()读取直接输出,如果我们同一时间上传了多个图片,在没有经过排序的情况下,我们去选择图片很难快速分辨哪个是刚刚上传的,解决方法是读取该目录的文件列表,用"文件名、修改时间"做键值对,塞入数组,注意,是用文件名做键,因为图片有可能是同一个时分秒上传的,并且没有毫秒,我们无法判断哪个是快一秒哪个慢一秒。再对"修改时间"倒序,最后foreach输出即可。