织梦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}