织梦DedeCMS通过Tag标签获取相关文章

织梦的相关文章是根据tag和文章关键词来的,不过效果不是特别的好,获取文章的数量是比较少的。对织梦系统自带的相关文章标签感兴趣的朋友,可以去看 likearticle|织梦相关文章标签 一文。 今天给大家分享的是只根据文章的Tag标签来调用相关文章的自定义标签

织梦的相关文章是根据tag和文章关键词来的,不过效果不是特别的好,获取文章的数量是比较少的。对织梦系统自带的相关文章标签感兴趣的朋友,可以去看likearticle|织梦相关文章标签一文。

今天给大家分享的是只根据文章的Tag标签来调用相关文章的自定义标签,在手动填写Tag标签的情况下,效果还是非常不错的。先说一下如何给织梦系统增加自定义标签,只需要把自定义标签文件上传到\include\taglib目录即可。下面是根据Tag标签获取相关文章的自定义dede:arctag标签代码:


<?php  if(!defined('DEDEINC'))exit('Request Error!');
functionlib_arctag(&$ctag,&$refObj)
{
global$dsql;
 $ar="row|10";
 FillAttsDefault($ctag->CAttribute->Items);
 extract($ctag->CAttribute->Items);
 $innertext=$ctag->GetInnerText();
 $tcp=newDedeTagParse();
 $tcp->SetNameSpace("field","[","]");
 $tcp->LoadSource($innertext);
 $aid=$refObj->Fields['id'];
 $revalue='';
 if($aid){
  $ids=array();
  $tag=array();
  $dsql->Execute("f","select tag from dede_taglist where aid = '$aid'");
  while($re=$dsql->GetArray("f")){
   $tag[] =$re['tag'];
  }
  if($tag){
   foreach($tagas$tk){
$dsql->Execute("f1","select aid from dede_taglist where tag = '$tk'");
while($re1=$dsql->GetArray("f1")){
 $ids[] =$re1['aid'];
}
   }
  }
  if($ids){
   $ids =array_unique($ids);
   $sqa="(".join(",",$ids).")";
   $query= "SELECT se.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM `dede_archives` se LEFT JOIN `dede_arctype` tp ON se.typeid=tp.id WHERE  se.id in$sqalimit$row";
   $dsql->Execute("f2",$query);
   while($row1=$dsql->GetArray("f2")){
$row1['arcurl'] = GetFileUrl($row1['id'],$row1['typeid'],$row1['senddate'],$row1['title'],
$row1['ismake'],
$row1['arcrank'],$row1['namerule'],$row1['typedir'],$row1['money'],
$row1['filename'],$row1['moresite'],$row1['siteurl'],$row1['sitepath']);
$row1['title'] = cn_substr($row1['title'],10);
foreach($tcp->CTagsas$tid=>$tt){
 $tcp->Assign($tid,$row1[$tt->GetName()]);
}
$revalue.=$tcp->GetResult();
   }
  }
 }
   return$revalue;
}

复制以上的代码,使用Dreamweaver等专业软件保存为arctag.lib.php文件,注意和你使用的织梦DedeCMS系统编码一致。dede:arctag标签在织梦模板中的用法如下:


{dede:arctag id=10}
<ahref="[field:arcurl/]">[field:title/]</a>
{/dede:arctag}

你可以根据自己的需要,对标签进行自我拓展。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

修改前台显示链接 我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。 这里主要修改下调用的标签,在includetaglibtag.lib.php中,在87行找到 $row[link] = $cfg_cmsurl./tags?.urlencode($row[keyword]); 将其改为: $row[link] =
dedecms织梦tag标签静态化有几种方法,其中一种最简单的也就是我们比较长用到的就是织梦tag标签静态化插件,本文要讲解的就是使用这种方法静态化后的tag标签的调用,即某篇文章的tag,我们需要调用的是tag的超链接,不需要链接的话就没必要讲了。这里的调用
想要在dede系统文章页面中,调用文章对应的相关文章列表,我们可以使用dede自带的likearticle标签实现,如下: {dede:likearticle col=1 row=10 titlelen=60} {/dede:likearticle} 其中col=1是指显示的类型,默认即可。row、titlelen是设置显示文章的条数和
最近用织梦cms仿站,有一个需求是按栏目调出TAG,这个问题思索了很久,最终在网上找到代码,得到解决。 Markup {dede:sql sql=select * from dede_archives a left join dede_taglist t on a.id=t.aid where a.typeid=22 limit 4} a href = /tags.php?[field
我们在进行织梦dedecms模板设计的时候,想实现类似于wordpress博客那样的tag标签,本博客就是用wordpress搭建的,像我博客边栏的tag那样,就是在显示tag的链接和tag名的同时,还能显示每个tag关联的文章的数量。如下图所示: 但是织梦默认没有这样的标签来调
已经是凌晨了,为解决像Dedecms列表显示TAG标签的方法这类的问题花费很长的时间,很烦!网上找了不少的方法有的是不显示,有的是不带链接的,下面是自己在Dedecms5.7上使用成功的,发出来记录一