新乡闫锦网络科技有限公司 网站模板下载 网站定制

您现在的位置:主页 > 公司新闻 > 建站教程 > 织梦二次开发之按照软件下载次数排列

织梦二次开发之按照软件下载次数排列

  • 文章内容
  • 用户评价
织梦的arclist标签可以按照文章点击次数、发布日期、得分等进行排序,今天有个客户需要按照软件下载次数进行排列,于是做了简单二次开发,首先找到include目录下面的taglib目录里的arclist.lib.php文件在376行后加入如下代码
 if($orderby == 'down')
 {
  $sql = "select SUM(downloads) as down_num,id from dede_downloads group by id ORDER BY down_num DESC LIMIT 0,15";
  $dsql->Execute('me',$sql);
  while($drow = $dsql->GetArray() )
  {
   $arr[] = $drow['id'];
  }
  $dstr = implode(",",$arr);
  if($orwhere!='')
  {
   $orwhere .= " AND arc.id in($dstr)";
  }else{
   $orwhere .= " where arc.id in($dstr)";
  }
  $ordersql = 'ORDER BY field(arc.id,'.$dstr.')';
 }

DEDECMS列表标签按照下载次数排序


DEDECMS按照下载次数排序,排序在SQL语句里无非就是order by 下载次数 desc,知道了这个然后我们就看需要改哪里了。

找到include目录下面的taglib目录里的arclist.lib.PHP文件在376行后加入如下代码
if($orderby == 'down')
{
$sql = "select SUM(downloads) as down_num,id from dede_downloads group by id ORDER BY down_num DESC LIMIT 0,15";
$dsql->Execute('me',$sql);
while($drow = $dsql->GetArray() )
{
$arr[] = $drow['id'];
}
$dstr = implode(",",$arr);
if($orwhere!='')
{
$orwhere .= " AND arc.id in($dstr)";
}else{
$orwhere .= " where arc.id in($dstr)";
}
$ordersql = 'ORDER BY field(arc.id,'.$dstr.')';
}

DEDECMS软件栏目实现下载次数进行排序

DEDECMS软件栏目实现下载次数进行排序,因为目前DEDE是没有按照下载排行来进行排序的选项,因此我们需要用到的方法就是使用SQL命令来调用。代码如下:

{dede:sql sql='Select A.id,A.title,D.id,D.downloads from dede_archives as A Left Join dede_downloads as D  ON
A.id = D.id order by downloads DESC limit 0,10; '}
<dd><span class="n[field:global name=autoindex/]"></span><a title="[field:title/]" href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]" target="_blank">[field:title/]</a></dd>
{/dede:sql}

limit 0,10;是调用10条。
调用出来的是静态地址列表。

声明:本站所有织梦模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除 网站管理员QQ:3078828304

收缩