DedeCMS使用代码来调用文章列表

经常使用dede的标签来在模板上调用文章列表,很是方便,不过有时扩展功能的时候可能直接会用到php代码来,这时调用数据,就使用不起来标签了。比如文章列表的调用,这边就放一个最近使用的php代码来调用文章列表。

把代码放在plus目录新建php文件
网站最新文章10篇 /plus/xxxx.php
网站最新文章20篇 /plus/xxxx.php?rs_end=20
网站最新文章从第5条开始的10条记录 /plus/xxxx.php?rs_start=5&rs_end=10
网站文章按照id顺序排列 /plus/xxxx.php?order=id&orderway=asc
网站栏目id为8的最新文章10篇 /plus/xxxx.php?tid=8
文章id为178和179的文章 /plus/xxxx.php?arcid=178,179
获得静态的文章链接 /plus/xxxx.php?mod=static
获取动态的文章链接 /plus/xxxx.php?mod=dynamic

代码:

  1. <?php
  2. require_once(dirname(__FILE__)."/../include/common.inc.php");
  3. require_once(dirname(__FILE__)."/../include/channelunit.func.php");
  4.  
  5.     foreach($_REQUEST as $k=>$v)
  6.     {
  7.         $$k=$v;
  8.     }
  9.    
  10.     if (empty($order)) $order = "pubdate";
  11.     if (empty($orderway)) $orderway = "desc";
  12.     if (empty($rs_start)) $rs_start = 0;
  13.     if (empty($rs_end)) $rs_end = 10;
  14.    
  15.     $wherejoin = array();
  16.    
  17.     if (!empty($arcid)) $wherejoin[]= " arc.id in ($arcid) ";
  18.     if (!empty($tid)) $wherejoin[]=" arc.typeid='$tid' ";
  19.    
  20.     $wheresql = join(' and ',$wherejoin);
  21.     if (!empty($wheresql)) $wheresql="where " . $wheresql;
  22.    
  23.     if (empty($mod)) $mod='static';
  24.         $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,
  25.             tp.moresite,tp.sitepath,tp.siteurl
  26.              from `#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
  27.              $wheresql order by $order $orderway limit $rs_start,$rs_end
  28.              ";
  29.  
  30.     $dsql->SetQuery($query);
  31.     $dsql->Execute();
  32.    
  33.     while($row = $dsql->GetArray())
  34.     {
  35.             if ($mod=='static')
  36.             {
  37.                 $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
  38.                 $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
  39.                
  40.                 $arcurl="{$row['filename']}";
  41.             }
  42.            
  43.             else if ($mod=='dynamic')
  44.             {
  45.                 $arcurl="/plus/view.php?aid={$row['id']}";
  46.             }
  47.         echo "<li><a href='$arcurl'>{$row['title']}</a></li>";
  48.     }
  49. ?>

Ryan 发表于 星期三, 五月/19/2010 | 编程开发 | 0 条留言
标签:,

AddThis Social Bookmark Button

Leave a Reply