我是在DEDECMS2007下做的,不知道这篇文章是否多余,DEDECMS调用很方便,但是我找了很久没有 找到调用当前文档的方法,故做了以下教程:DEDECMS 获取当前文档地址。 修改方法如下: 修改

我是在DEDECMS2007下做的,不知道这篇文章是否多余,DEDECMS调用很方便,但是我找了很久没有
找到调用当前文档的方法,故做了以下教程:DEDECMS 获取当前文档地址
修改方法如下:
修改include/inc_archives_view.php
找到
//-------------------------- 
//获取上一篇,下一篇链接 
//-------------------------- 
function GetPreNext($gtype='') 

$rs = ""; 
if(count($this->PreNext)<2) 


$aid = $this->ArcID; 
$next = " xkzzz_archives.ID>'$aid' And xkzzz_archives.arcrank>-1 order by xkzzz_archives.ID asc "; 
$pre = " xkzzz_archives.ID<'$aid' And xkzzz_archives.arcrank>-1 order by xkzzz_archives.ID desc "; 
$query = "Select xkzzz_archives.ID,xkzzz_archives.title, 
xkzzz_archives.typeid,xkzzz_archives.ismake,xkzzz_archives.senddate,
xkzzz_archives.arcrank,xkzzz_archives.money, 
xkzzz_arctype.typedir,xkzzz_arctype.typename,xkzzz_arctype.namerule,xkzzz_arctype.namerule2,
xkzzz_arctype.ispart, 
xkzzz_arctype.moresite,xkzzz_arctype.siteurl 
from xkzzz_archives left join xkzzz_arctype on xkzzz_archives.typeid=xkzzz_arctype.ID 
where "; 
$nextRow = $this->dsql->GetOne($query.$next); 
$preRow = $this->dsql->GetOne($query.$pre); 
if(is_array($preRow)){ 
$mlink = GetFileUrl($preRow['ID'],$preRow['typeid'],$preRow['senddate'],$preRow['title'],
$preRow['ismake'],$preRow['arcrank'],$preRow['namerule'],$preRow['typedir'],
$preRow['money'],true,$preRow['siteurl']); 
$this->PreNext['pre'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> "; 

else{ 
$this->PreNext['pre'] = "上一篇:没有了 "; 

if(is_array($nextRow)){ 
$mlink = GetFileUrl($nextRow['ID'],$nextRow['typeid'],$nextRow['senddate'],
$nextRow['title'],$nextRow['ismake'],
$nextRow['arcrank'],$nextRow['namerule'],$nextRow['typedir'],
$nextRow['money'],true,$nextRow['siteurl']); 
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> "; 

else{ 
$this->PreNext['next'] = "下一篇:没有了 "; 



if($gtype=='pre'){ $rs = $this->PreNext['pre']; 

else if($gtype=='next'){ 
$rs = $this->PreNext['next']; 

else{ 
$rs = $this->PreNext['pre']." &nbsp; ".$this->PreNext['next']; 


return $rs; 

看了大家都知道了,我是根据上一页下一页来改的
当然不会影响上一页和下一页的使用


修改
if(count($this->PreNext)<2) 

if(count($this->PreNext)<3) 
找到
$next = " xkzzz_archives.ID>'$aid' And xkzzz_archives.arcrank>-1 order by xkzzz_archives.ID asc "; 
$pre = " xkzzz_archives.ID<'$aid' And xkzzz_archives.arcrank>-1 order by xkzzz_archives.ID desc "; 
在下面添加
$dqy = " xkzzz_archives.ID='$aid' And xkzzz_archives.arcrank>-1 order by xkzzz_archives.ID asc "; 
找到
$nextRow = $this->dsql->GetOne($query.$next); 
$preRow = $this->dsql->GetOne($query.$pre); 
在下面添加
$dqyRow = $this->dsql->GetOne($query.$dqy); 
找到
if(is_array($nextRow)){ 
$mlink = GetFileUrl($nextRow['ID'],$nextRow['typeid'],$nextRow['senddate'],
$nextRow['title'],$nextRow['ismake'],$nextRow['arcrank'],$nextRow['namerule'],
$nextRow['typedir'],$nextRow['money'],true,$nextRow['siteurl']); 
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> "; 

else{ 
$this->PreNext['next'] = "下一篇:没有了 "; 

在下面添加
if(is_array($dqyRow)){ 
$mlink = GetFileUrl($dqyRow['ID'],$dqyRow['typeid'],$dqyRow['senddate'],
$dqyRow['title'],$dqyRow['ismake'],$dqyRow['arcrank'],$dqyRow['namerule'],
$dqyRow['typedir'],$dqyRow['money'],true,$dqyRow['siteurl']); 
$this->PreNext['dqy'] = "本页地址:<a href='$mlink'>$mlink</a> "; 

else{ 
$this->PreNext['dqy'] = "当前页:没有了 "; 

找到

DEDECMS 获取当前文档地址  当前文档地址 第1张


if($gtype=='pre'){ 
$rs = $this->PreNext['pre']; 

else if($gtype=='next'){ 
$rs = $this->PreNext['next']; 

else{ 
$rs = $this->PreNext['pre']." &nbsp; ".$this->PreNext['next']; 


return $rs; 

修改为
if($gtype=='pre'){ 
$rs = $this->PreNext['pre']; 

else if($gtype=='next'){ 
$rs = $this->PreNext['next']; 

else if($gtype=='dqy'){ 
$rs = $this->PreNext['dqy']; 

else{ 
$rs = $this->PreNext['pre']." &nbsp; ".$this->PreNext['next']; 


return $rs; 

在内容页模版需要调用的地方调用 {dede:prenext get=’dqy’/}
OK,搞定,重新生成下看看!


转载请说明出处
知优网 » DEDECMS 获取当前文档地址

发表评论

您需要后才能发表评论