默认情况下,文章列表页面的文章是不能通过权重功能来进行排序的。我们可以这样修改:
首先在list_article.htm模板找到这里:
{dede:list pagesize='10’}
<li>
[field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : "<a href='{@me['arcurl']}' class='preview'><img src='{@me['litpic']}'/></a>"); [/field:array]
[<b>[field:typelink/]</b>]
<a href="[field:arcurl/]" class="title">[field:title/]</a>
<span class="info">
<small>日期:</small>[field:pubdate function="GetDateTimeMK(@me)"/]
<small>点击:</small>[field:click/]
<small>好评:</small>[field:scores/]
</span>
<p class="intro">
[field:description/]…
</p>
</li>
{/dede:list}
把{dede:list pagesize='10‘}改为:{dede:list pagesize='10‘ orderby='weight'}
然后再到include/arc.listview.class.php 内找到:
//排序方式
$ordersql = '';
if($orderby=="senddate" || $orderby=="id") {
$ordersql=" order by arc.id $orderWay";
}
else if($orderby=="hot" || $orderby=="click") {
$ordersql = " order by arc.click $orderWay";
}
else if($orderby=="lastpost") {
$ordersql = " order by arc.lastpost $orderWay";
}
修改为:
//排序方式
$ordersql = '';
if($orderby=="senddate" || $orderby=="id") {
$ordersql=" order by arc.id $orderWay";
}
else if($orderby=="hot" || $orderby=="click") {
$ordersql = " order by arc.click $orderWay";
}
else if($orderby=="lastpost") {
$ordersql = " order by arc.lastpost $orderWay";
}
else if($orderby=="weight") {
$ordersql = " order by arc.weight $orderWay";
}
else {
$ordersql=" order by arc.sortrank $orderWay";
}
再找到:
if(ereg('hot|click|lastpost',$orderby))
修改为:
if(ereg('hot|click|lastpost|weight',$orderby))
保存。更新。ok !
如此就能使用权重来控制排序了。