"景先生毕设|www.jxszl.com

织梦dedeCMS系统通過Tag标签获取相關文章

2022-10-29 16:31编辑: www.jxszl.com景先生毕设
织梦的相关文章是根据tag和文章关键字来的,不过效果不是特别的好,获取文章的数量是比较少的.对织梦系统自带的相关文章标签感兴趣的朋友,可以去看likearticle|织梦相关文章标签I.文.
今天给大家分享的是只根据文章的Tag标签来调用相关文章的自定义标签,在手动填写Tag标签的情况下,效

 更多精彩就在: 51免费论文网|www.jxszl.com 
果还是非常不错的.先说I.下如何给织梦系统增加自定义标签,只需要把自定义标签文件上传到include aglib目录即可.下面是根据Tag标签获取相关文章的自定义dede:arctag标签代码:
functionlib_arctag(&$ctag,&$refObj)
{
global$dsql;
$ar="row|I.0";
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","selecttagfromdede_taglistwhereaid=$aid");
while($re=$dsql->GetArray("f")){
$tag[]=$re[tag];
}
if($tag){
foreach($tagas$tk){
$dsql->Execute("fI.","selectaidfromdede_taglistwheretag=$tk");
while($reI.=$dsql->GetArray("fI.")){
$ids[]=$reI.[aid];
}
}
}
if($ids){
$ids=array_unique($ids);
$sqa="(".join(",",$ids).")";
$query="SELECTse.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.nameruleII,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM`dede_archives`seLEFTJOIN`dede_arctype`tpONse.typeid=tp.idWHEREse.idin$sqalimit$row";
$dsql->Execute("fII",$query);
while($rowI.=$dsql->GetArray("fII")){
$rowI.[arcurl]=GetFileUrl($rowI.[id],$rowI.[typeid],$rowI.[senddate],$rowI.[title],
$rowI.[ismake],
$rowI.[arcrank],$rowI.[namerule],$rowI.[typedir],$rowI.[money],
$rowI.[filename],$rowI.[moresite],$rowI.[siteurl],$rowI.[sitepath]);
$rowI.[title]=cn_substr($rowI.[title],I.0);
foreach($tcp->CTagsas$tid=>$tt){
$tcp->Assign($tid,$rowI.[$tt->GetName()]);
}
$revalue.=$tcp->GetResult();
}
}
}
return$revalue;
}
复制以上的代码,使用Dreamweaver等专业软件保存为arctag.lib.php文件,注意和你使用的织梦DedeCMS系统编码I.致.dede:arctag标签在织梦模板中的用法如下:

{dede:arctagid=I.0}
[field:title/]{/dede:arctag}
你可以根据自己的需要,对标签进行自我拓展.


原文链接:http://www.jxszl.com/biancheng/dedecms/75541.html