今天给大家分享的是只根据文章的Tag标签来调用相关文章的自定义标签,在手动填写Tag标签的情况下,效果还是非常不错的。先说一下如何给织梦系统增加自定义标签,只需要把自定义标签文件上传到\include\taglib目录即可。下面是根据Tag标签获取相关文章的自定义dede:arctag标签代码:
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}
href="[fIEld:arcurl/]">[fIEld:Title/]你可以根据自己的需要,对标签进行自我拓展。 总结
以上是内存溢出为你收集整理的织梦模板制作经常要用到很多标签,新手都不是很熟,我把它整理了一下,贴出来dedecms万能SQL标签调用归纳如全部内容,希望文章能够帮你解决织梦模板制作经常要用到很多标签,新手都不是很熟,我把它整理了一下,贴出来dedecms万能SQL标签调用归纳如所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)