• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

织梦吧 - dedecms,网站模板,建站教程,图片素材免费下载

DedeCMS视频教程

dedecms怎样调用相关文章

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-01-16点击:

dedecms怎样调用相关文章 2011-05-31 16:31:29 作者:xiongxiaoli 来源: 浏览次数:0 网友评论 0

摘要:我们在使用php开源程序dedecms制作网站时,经常需要在内容页面调用相关文章,但我们使用dedecms arclist不能够实现,但是arclist有一个字段keyword,如果把当前文章的keyword调用出来,就能够得...

我们在使用php开源程序dedecms制作网站时,经常需要在内容页面调用相关文章,但我们使用dedecms arclist不能够实现,但是arclist有一个字段keyword,如果把当前文章的keyword调用出来,就能够得到当前相关文章的列表.我的做法是对keyword附一个固定的值 复制代码
{dede:arclist keyword='relation' row='5'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

如果是在终端页面调用相关文章,就将keyword的值固定,其他的参数也都是可以用的,默认的keyword值是当前页面得关键字

具体的实现方式是:
1.修改include/arc.archives.class.php找到MakeOneTag($this->dtp, $this, 'N',$reltag);将其替换为 复制代码
$reltag = explode(',',$this->Fields['keywords']);
$reltag = $reltag[0];
MakeOneTag($this->dtp, $this, 'N',$reltag);
 

2.修改include/下的channelunit.func.php找到函数MakeOneTag函数 MakeOneTag(&$dtp, &$refObj, $parfield='Y')在函数的最后加上一个参数 复制代码
MakeOneTag(&$dtp, &$refObj, $parfield='Y',$reltag)

仔细看下有什么区别吧
在函数中找到 复制代码
if(in_array($tagname,$alltags))
{
$filename = DEDEINC.'/taglib/'.$tagname.'.lib.php';
include_once($filename);
$funcname = 'lib_'.$tagname;
$dtp->Assign($tagid,$funcname($ctag,$refObj));
}
 
将其修改为 复制代码
if(in_array($tagname,$alltags))
{
$filename = DEDEINC.'/taglib/'.$tagname.'.lib.php';
include_once($filename);
$funcname = 'lib_'.$tagname;
if($tagname == 'arclist'){
foreach($ctag->CAttribute->Items as $key => $val){
if($key == 'keyword'){
if($val=='Relation'){

$ctag->CAttribute->Items[$key]=$reltag;
}
}
}
}
$dtp->Assign($tagid,$funcname($ctag,$refObj));
}

关键词:

免责声明:本站部分资源来源于网络,如果本站提供资源侵犯到您的权益,请您与我们联系,我们会在第一时间做出处理

相关文章

已有0位网友发表了看法

标签:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 tom@tiptop.cn ,  QQ