今天给大家讲解{dede:likeart/}这个标签,大家都知道这是DEDE调用相关文章的标签。dede调用相关文章的时候,是调用发表文章时填写的相关文档ID,每篇文章都要手动填写,好像不太现实,我们能不能换用另一个方式来调用呢。很多人想到相关文章的时候,往往希望他们是关键字相关,这样才能有更多的黏着度。
下面我们将使用DEDE的自定义函数来实现将相关文章改为关键字相关:
- {dede:field name='ID' runphp='yes'}
- $tempid=@me;
- @me="";
- {/dede:field}
- {dede:field name='keywords' runphp='yes'}
- @me="%".str_replace(" ","%",@me)。"%";
- if(!isset($dsql) || !is_object($dsql)){
- $dsql = new DedeSql(false);
- }
- $dsql->SetQuery("Select arcf.title,arcf.url from `dede_full_search` arcf left join `dede_arctype` tp on arcf.typeid=tp.ID where arcf.arcrank > -1 And arcf.title like '".@me."' and aid<>".$tempid." order by arcf.aid desc limit 0,20");
- $dsql->Execute();
- @me="";
- while($row = $dsql->GetArray()){
- @me.="<li><a href='".$row['url']."'>".$row['title']."</a></li>";
- }
- {/dede:field}
以上是笔者自己写的查询语句,实际上DEDE里有一个函数可以用SpGetFullList,但我不知怎么用,哪位高手来把上面这段代码改成SpGetFullList调用。
以上代码就能有效的视线相关文章和关键字的调用了,但是有时生成一次显示不出关键字和相关文章,你再生成一次就行了。有高手提出改进的可以在留言板留言。
1111