最近在做一个站,想做一个功能,就是有一个div块里显示的是与当前文章关键词相同的文章的标题。开始的时候是这样写的 {dede:arclist keyword='{dede:field name='keyword'}'}结果肯定是不可以的。。。。在网上找也没找到。于是就自己读代码,自己写了个简单 […]
最近在做一个站,想做一个功能,就是有一个div块里显示的是与当前文章关键词相同的文章的标题。开始的时候是这样写的
{dede:arclist keyword='{dede:field name='keyword'}'}结果肯定是不可以的。。。。在网上找也没找到。于是就自己读代码,自己写了个简单处理的。
打开/include/taglib下的arclist.lib.php 第149行
//关键字条件
if($keyword!='')
把{}中间的内容改成
2
|
$rowGetKeyword = $dsql->GetOne( "select keywords From `58pic_archives` where id='$arcid'" );
|
3
|
$keyword=$rowGetKeyword[ 'keywords' ];
|
4
|
$keyword = str_replace( ',' , '|' , $keyword);
|
5
|
$orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' " ;
|
|
这样直接调用{dede:arclist keyword='这里随便写只要是不为空就可以'} 这样这里的keyword就是动态获取的了。不然只能是固定的。
就在刚刚我发帖之前看到dede5.7里有个标签
下面就是调用与当前文章相同关键词的相关文章
1
|
{dede:arclist typeid= '1' limit= '0,1' titlelen=24 keyword= '{dede:field name=' keyword'}
|
2
|
<li> <a href= "[field:arcurl/]" >[field:title/]</a> </li>
|
|
这个标签测试过了,可以用!