自定义织梦DedeCMS上一篇下一篇调用标签并且修改样式

编程之家收集整理的这篇文章主要介绍了自定义织梦DedeCMS上一篇下一篇调用标签并且修改样式编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

织梦 Dedecms 认的文章上一页下一页只能调用文章标题链接,在做模板的时候能实现的样式十分有限,有时我们需要获取上一篇文章封面缩微图,这样认的调用标签就显得很 LOW 了。并且在没有上一篇或者下一篇文章的时候 Dedecms 还会输出一个“没有了”的文字在对应的位置,看起来很碍眼。今天来分享一个 Dedecms 的二次开发方案,来实现文章上下篇的美化。

Dedecms 二次开发美化上一篇 下一篇具体执行步骤,打开/include/arc.archives.class.PHP 搜索下面内容

else if($ctag->GetName()=='fieldlist')

在他的上面加入下面代码

else if($ctag->GetName()=='prenextdiy')

{

$innertext = trim($ctag->GetInnerText()); if($innertext)

{

$get = $ctag->GetAtt('get');

$diys['diy'] = $this->GetPreNext('diy');

$revalue = '';

$dtp2 = new DedeTagParse();

$dtp2->SetNameSpace('field','[',']');

$dtp2->LoadSource($innertext); foreach($diys as $row)

{ foreach($dtp2->CTags as $tid=>$ctag2)

{ if(isset($row[$get][$ctag2->GetName()]))

{

$dtp2->Assign($tid,$row[$get][$ctag2->GetName()]);

}

}

$revalue .= $dtp2->GetResult();

} if($row[$get]['id']) $this->dtp->Assign($i,$revalue);

}

}

搜索下面一行代码:

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

然后在它上面插入下面代码

$preRow['litpic'] = (empty($preRow['litpic'])) ? $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif' : $preRow['litpic'];

$this->PreNext['diy']['pre']['id'] = $preRow['id'];

$this->PreNext['diy']['pre']['arcurl'] = $mlink;

$this->PreNext['diy']['pre']['title'] = $preRow['title'];

$this->PreNext['diy']['pre']['litpic'] = $preRow['litpic'];

$this->PreNext['diy']['pre']['pubdate'] = $preRow['senddate'];

继续搜索下面一行代码:

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

在它上边添加以下代码:

$nextRow['litpic'] = (empty($nextRow['litpic'])) ? $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif' : $nextRow['litpic'];

$this->PreNext['diy']['next']['id'] = $nextRow['id'];

$this->PreNext['diy']['next']['arcurl'] = $mlink;

$this->PreNext['diy']['next']['title'] = $nextRow['title'];

$this->PreNext['diy']['next']['litpic'] = $nextRow['litpic'];

$this->PreNext['diy']['next']['pubdate'] = $nextRow['senddate'];

最后再搜索代码

if($gtype=='pre')

在其前面插入:

if($gtype=='diy')

{ return $this->PreNext['diy'];

}

至此大功告成。

调用方法

上一篇

{dede:prenextdiy get='pre'}

<li><a href="[field:arcurl/]"><img src="[field:litpic/]" width="50" height="50"></a></li>

<p><a href="[field:arcurl/]">[field:title/]</a><span>时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]</span></p>

{/dede:prenextdiy}

下一篇

{dede:prenextdiy get='next'}

<li><a href="[field:arcurl/]"><img src="[field:litpic/]" width="50" height="50"></a></li>

<p><a href="[field:arcurl/]">[field:title/]</a><span>时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]</span></p>

{/dede:prenextdiy}

这样,有了文字图片、时间、链接。想美化成什么样子都可以了!并且不同的组合对网站的 SEO 优化也是很有帮助的。

并且,最关键的是这种织梦 cms 二次开发的方案非常优秀,因为原理是额外添加一个 diy 的标签,所以完全不损伤系统原有的功能,如有需求,依旧可以使用织梦系统原有的标签进行上下篇的调用

查看演示

咨询汉化

链接为英文原版演示地址,由于英文演示针对的是境外用户,机房位于境外国内访问可能比较缓慢如果长时间未显示可以尝试刷新几次。

专业提供wordpress主题安装、深度汉化、加速优化等服务,详询在线客服!

总结

以上是编程之家为你收集整理的自定义织梦DedeCMS上一篇下一篇调用标签并且修改样式全部内容,希望文章能够帮你解决自定义织梦DedeCMS上一篇下一篇调用标签并且修改样式所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群
编程之家官方2群
编程之家官方3群
编程之家官方4群

相关文章

猜你在找的Dedecms相关文章

DedeCMS列表页/内容页如何调用顶级栏目ID的方法总结,使用dede顶级栏目id可以实现很多功能比如:在每个列表页调用不同的栏目图片(同一顶级栏目调用相同的图
我们用织梦做网站,有时候需要用php截取特定字符前面和后面的内容,可以用以下方法来实现。1、php截取特定字符后面的内容可以使用函数strripos,获取一
DedeCMS中是可以使用PHP的,常见的方法就是ifelse了,例如模板制作中,DedeCMS织梦判断当前字段是否有值有则显示无则不显示,实现的方法如下。示例一1
织梦DedeCMS列表页获取访客热搜排行榜文章的方法,方法比较简单只需要打开织梦/include/extend.func.php最后加上以下代码:170465897460ee63c2bbfe1_0000
很多人说,DeDecms是一款非常好用,非常棒的内容管理程序。但是如果DeDecms技术工程师针对用户体验和程序安全方面在用心点的话,相信使用的用户将更多。今
织梦在建站的时候也希望自己的文章能被评论,这样也可以给自己提出很多的意见,在首页也可以调用出评论,把织梦首页中的评论链接地址换成静态化的文件还要
用过wordpress的朋友都知道,wordpress有个功能就是调用标签的时候可以在每个标签的后面显示出当前标签所对应的文章数量。看上去很美观,而且每一个tag标签
经过测试貌似{dede:php}标签中不能直接使用其他普通标签例如:{dede:field.title/},{dede:global.cfg_webname/}但是我们可以通过其他方式来实现相应的功能
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注