織夢dedeCMS系統(tǒng)通過Tag標(biāo)簽獲取相關(guān)文章
時(shí)間: 2018-04-25 09:36
閱讀: 次
作者:素材無憂網(wǎng)
織夢的相關(guān)文章是根據(jù)tag和文章關(guān)鍵詞來的,不過效果不是特別的好,獲取文章的數(shù)量是比較少的。對織夢系統(tǒng)自帶的相關(guān)文章標(biāo)簽感興趣的朋友,可以去看likearticle|織夢相關(guān)文章標(biāo)簽一文。
今天給大家分享的是只根據(jù)文章的Tag標(biāo)簽來調(diào)用相關(guān)文章的自定義標(biāo)簽,在手動填寫Tag標(biāo)簽的情況下,效果還是非常不錯(cuò)的。先說一下如何給織夢系統(tǒng)增加自定義標(biāo)簽,只需要把自定義標(biāo)簽文件上傳到\include\taglib目錄即可。下面是根據(jù)Tag標(biāo)簽獲取相關(guān)文章的自定義dede:arctag標(biāo)簽代碼:
<?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;
}
復(fù)制以上的代碼,使用Dreamweaver等專業(yè)軟件保存為arctag.lib.php文件,注意和你使用的織夢DedeCMS系統(tǒng)編碼一致。dede:arctag標(biāo)簽在織夢模板中的用法如下:
{dede:arctag id=10}
<ahref="[field:arcurl/]">[field:title/]</a> {/dede:arctag}
你可以根據(jù)自己的需要,對標(biāo)簽進(jìn)行自我拓展。
標(biāo)簽: