织梦dedecms上一篇下一篇个性化美化

0 织梦dedecms上一篇下一篇个性化美化

织梦dedecms上一篇下一篇美化显示增加时间标题缩略图链接.png

织梦默认的文章上一页下一页只能调用文章标题和链接,在做模板的时候能实现的样式十分有限。并且在没有上一篇或者下一篇文章的时候DEDE还会输出一个“没有了”的文字在对应的位置,看起来很碍眼。

今天来分享一个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'] = "上一篇:{$preRow['title']} ";

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

$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'] = "下一篇:{$nextRow['title']} ";

在它上边添加以下代码

$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'];
}

至此大功告成。

织梦CMS模板时候的调用方法:

上一篇:

{dede:prenextdiy get='pre'}
  • [field:title/]时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]

    {/dede:prenextdiy}

    下一篇:

    {dede:prenextdiy get='next'}
    
  • [field:title/]时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]

    {/dede:prenextdiy}

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

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

    赞(1)
    打赏 微信扫一扫微信 支付宝 QQ 扫码打赏
    如若转载,请注明本文出自:https://www.guaitoo.com/show/132.html