加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DedeCMS织梦单独调用上下篇文章链接和标题

发布时间:2020-12-14 04:09:33 所属栏目:Dedecms 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 织梦默认的上一篇,下一篇调用标签是:{dede:prenext get='pre'/} {dede:prenext get='next'/},有的情况加 我们只想要单独的链接和标题那该怎么办呢!接

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

织梦默认的上一篇,下一篇调用标签是:{dede:prenext get='pre'/} {dede:prenext get='next'/},有的情况加 我们只想要单独的链接和标题那该怎么办呢!接下来交大家方法.

第一步:

打开/include/arc.archives.class.php 文件找到:

/**

? * 获取上一篇,下一篇链接

? *

? * @access public

? * @param string $gtype 获取类型

? * pre:上一篇 preimg:上一篇图片 next:下一篇 nextimg:下一篇图片

? * @return string

? */

大概在 795 行左右



替换代码如下:

/**

? * 获取上一篇,下一篇链接

? *

? * @access public

? * @param string $gtype 获取类型

? * pre:上一篇 preimg:上一篇图片 next:下一篇 nextimg:下一篇图片

? * @return string

? */

function GetPreNext($gtype='')

{

$rs = '';

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

{

$aid = $this->ArcID;

$preR = $this->dsql->GetOne("Select id From `dede_arctiny` where id<$aid And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by id desc");

$nextR = $this->dsql->GetOne("Select id From `dede_arctiny` where id>$aid And arcrank>-1 And typeid='{$this->Fields['typeid']}' order by id asc");

$next = (is_array($nextR) ? " where arc.id={$nextR['id']} " : ' where 1>2 ');

$pre = (is_array($preR) ? " where arc.id={$preR['id']} " : ' where 1>2 ');

$query = "Select arc.id,arc.title,arc.shorttitle,arc.typeid,arc.ismake,arc.senddate,arc.arcrank,arc.money,arc.filename,arc.litpic,

t.typedir,t.typename,t.namerule,t.namerule2,t.ispart,t.moresite,t.siteurl,t.sitepath

from `dede_archives` arc left join dede_arctype t on arc.typeid=t.id ";

$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'],$preRow['filename'],$preRow['moresite'],$preRow['siteurl'],$preRow['sitepath']);

$this->PreNext['next'] = "上一篇:<a href='$mlink'>{$preRow['title']}</a> ";

$this->PreNext['nexturl'] = "$mlink"; //上一篇链接地址

$this->PreNext['nextname'] = "{$preRow['title']}"; //上一篇文章标题

$this->PreNext['prewap'] = "<a href="view.php?aid={$preRow['id']}" class="pg_a-son fl" data-ignore="true">上一条</a> ";

$this->PreNext['nextimg'] = "<a href='$mlink'><img src="{$preRow['litpic']}" alt="{$preRow['title']}"/></a> ";

}

else

{

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

$this->PreNext['nexturl'] = ""; //上一篇链接地址

$this->PreNext['prewap'] = "<a href="javascript:;" class="pg_a-son fl" data-ignore="true">没有了</a> ";

$this->PreNext['nextimg'] ="<img src="/templets/default/images/nophoto.jpg" alt="对不起,没有上一图集了!"/>";

}

if(is_array($nextRow))

{

$mlink = GetFileUrl($nextRow['id'],$nextRow['typeid'],$nextRow['senddate'],$nextRow['title'],$nextRow['ismake'],$nextRow['arcrank'],

$nextRow['namerule'],$nextRow['typedir'],$nextRow['money'],$nextRow['filename'],$nextRow['moresite'],$nextRow['siteurl'],$nextRow['sitepath']);

$this->PreNext['pre'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";

$this->PreNext['preurl'] = "$mlink"; //上一篇链接地址

$this->PreNext['prename'] = "{$nextRow['title']}"; //上一篇文章标题

$this->PreNext['nextwap'] = "<a href="view.php?aid={$nextRow['id']}" class="pg_a-son fr" data-ignore="true">下一条</a> ";

$this->PreNext['preimg'] = "<a href='$mlink'><img src="{$nextRow['litpic']}" alt="{$nextRow['title']}"/></a> ";

}

else

{

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

$this->PreNext['preurl'] = ""; //上一篇链接地址

$this->PreNext['nextwap'] = "<a href="javascript:;" class="pg_a-son fr" data-ignore="true">没有了</a> ";

$this->PreNext['preimg'] ="<a href='javascript:void(0)' alt=""><img src="/templets/default/images/nophoto.jpg" alt="对不起,没有下一图集了!"/></a>";

}

}

if($gtype=='pre')

{

$rs = $this->PreNext['pre'];

}

else if($gtype=='prewap'){

?

$rs = $this->PreNext['prewap'];

}

else if($gtype=='preimg'){

?

$rs = $this->PreNext['preimg'];

}

else if($gtype=='next')

{

$rs = $this->PreNext['next'];

}

else if($gtype=='nextwap')

{

$rs = $this->PreNext['nextwap'];

}

else if($gtype=='nextimg'){

?

$rs = $this->PreNext['nextimg'];

}

else if($gtype=='preurl'){

?

$rs = $this->PreNext['preurl'];

}

else if($gtype=='prename'){

?

$rs = $this->PreNext['prename'];

}

else if($gtype=='nexturl'){

?

$rs = $this->PreNext['nexturl'];

}

else if($gtype=='nextname'){

?

$rs = $this->PreNext['nextname'];

}

else

{

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

}

return $rs;

}

第二步:

文件替换好了,那就可以调用的了,调用标签如下:

下一篇链接:{dede:prenext get='preurl'/} 上一篇链接:{dede:prenext get='nexturl'/}

下一篇标题:{dede:prenext get='prename'/} 上一篇链接:{dede:prenext get='nextname'/}

注:因为调用顺序是按发布时间更新的,有人问为啥下一篇链接用 preurl,这个不做解释了,自己调用一下就明白了!

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读