国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 織夢DEDE > 正文

DedeCMS系統datalist標簽調用arcurl方法

2024-07-12 09:09:34
字體:
來源:轉載
供稿:網友
織夢DedeCMS系統datalist標簽調用arcurl方法(本文未測試,請自行測試可行性),使用datalist時,無法直接調用arcurl值。

arclist標記使用[field:arcurl]可以直接調出文章url,在sql標簽中也可以調出文章url:
 
 [field:id runphp='yes']$arcRow=GetOneArchive(@me);@me=$arcRow['arcurl'];[/field:id]
 
datalist標簽不能直接調用arcurl字段,可以擴展函數。sql標簽調用時GetOneArchive函數,打開include文件夾下common.func.php文件找到GetOneArchive函數:
 
  //獲取單篇文檔信息
 
function GetOneArchive($aid)
{
 global $dsql;
 include_once(DEDEINC."/channelunit.func.php");
 $aid = trim(ereg_replace('[^0-9]','',$aid));
 $reArr = array();
  
 $chRow = $dsql->GetOne("Select arc.*,ch.maintable,ch.addtable,ch.issystem
From `dede_arctiny` arc
left join `dede_channeltype` ch on ch.id=arc.channel where arc.id='$aid' ");
 if(!is_array($chRow)) {
  return $reArr;
 }
 else {
  if(empty($chRow['maintable'])) $chRow['maintable'] = 'dede_archives';
 } 
 if($chRow['issystem']!=-1)
 {
  $nquery = " Select arc.*,tp.typedir,tp.topid,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
              From `{$chRow['maintable']}` arc left join `dede_arctype` tp on tp.id=arc.typeid
              where arc.id='$aid' ";
 }
 else
 {
  $nquery = " Select arc.*,1 as ismake,0 as money,'' as filename,tp.typedir,tp.topid,tp.namerule,
  
tp.moresite,tp.siteurl,tp.sitepath
    From `{$chRow['addtable']}` arc left join `dede_arctype` tp on tp.id=arc.typeid
              where arc.aid='$aid' ";
 }
 $arcRow = $dsql->GetOne($nquery);
  
 if(!is_array($arcRow)) {
  return $reArr;
 }
 if(!isset($arcRow['description'])) {
  $arcRow['description'] = '';
 }
  
 if(empty($arcRow['description']) && isset($arcRow['body'])) {
  $arcRow['description'] = cn_substr(html2text($arcRow['body']),250);
 }
  
 if(!isset($arcRow['pubdate'])) {
  $arcRow['pubdate'] = $arcRow['senddate'];
 }
  
 if(!isset($arcRow['notpost'])) {
  $arcRow['notpost'] = 0;
 }
  
 $reArr = $arcRow;
 $reArr['aid']    = $aid;
 $reArr['topid']  = $arcRow['topid'];
 $reArr['arctitle'] = $arcRow['title'];
 $reArr['arcurl'] = GetFileUrl($aid,$arcRow['typeid'],$arcRow['senddate'],
                            $reArr['title'],$arcRow['ismake'],$arcRow['arcrank'],
                            $arcRow['namerule'], $arcRow['typedir'],$arcRow['money'],
                           $arcRow['filename'],$arcRow['moresite'],
                           $arcRow['siteurl'],$arcRow['sitepath']);
 return $reArr;
  
}
 
這里織夢DedeCMS,它處理$aid返回了一個$reArr數組,此數組有arcurl這個元素,這下很好理解sql標簽中調用arcurl的方法了。
找到GetOneArchive函數,打開include文件夾下extend.func.php,加入以下代碼:
 
 function getOneArchiveElement($aid,$element='arcurl'){
 
$arcRow=GetOneArchive($aid);
 
return $arcRow[$element];
 
}
 
在模板文件datalist標記里調用如下標簽:
 
 {dede:field.aid function="GetOneArchiveElement(@me,'arcurl')"}
 
@me是傳遞參數aid的功能www.zuimoban.com
 
OK,這樣就搞定了datalist標簽中調用arcurl的問題,當然GetOneArchiveElement這個函數還可以調用其他字段的值。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴忠市| 韶山市| 乌拉特后旗| 珲春市| 班戈县| 新蔡县| 曲沃县| 宜兰市| 汝城县| 广汉市| 浪卡子县| 天长市| 太仆寺旗| 永胜县| 呼和浩特市| 通河县| 柳江县| 三台县| 襄樊市| 万宁市| 合江县| 东城区| 永昌县| 西丰县| 若尔盖县| 江安县| 安阳市| 镇赉县| 五莲县| 林芝县| 色达县| 麻江县| 咸宁市| 上虞市| 古交市| 常德市| 奇台县| 武川县| 蚌埠市| 虞城县| 汽车|