给用户做织梦模板的时候,经常需要需要使用的相关文章这一功能,但是我们使用的时候发现,调用的相关文章,有的时候并不相关,很是尴尬。那么这种相关文档不相关的情况怎么办呢?
其实出现这样相关文章完全不相关的情况,我们在DEDE官方放出根据TAG显示相关文章是可以实现的,而且效果也是很不错的,例如织梦模板网前面教程给大家介绍的《织梦模板标签dede:arclist按照自定义字段的条件调用相关文章》以及《相关文章likeart在织梦模板制作过程中的使用实例》都是很好的解决办法。但是有些朋友在使用上述方法后反馈说不行,用不了。当然织梦模板网提供的教程和方法肯定是不会错的,有朋友用不了可能是您的网站之前做过二次开发,或者也可能是您的网站代码有些问题。下面错新网小编给大家再分享一个“傻瓜式”的代码功能,帮你实现相关文章的方法。
第一步、在 inc_functions.php 最后?>前 加上
//查询指定栏目里包含相应关键字的文章,并列出 //参数说明:$showImg 是否显示缩略图,0表示不显示,1表示显示 // $titleLen 标题长度,0表示无限 // $rowCount 输出行数,0表示无限 // $typeid 栏目ID,0表示所有栏目 // $keyWord 关键字,字符串 function ShowKeyWordArc($showImg,$titleLen,$rowCount,$typeid,$keyWord){ $dsql = new DedeSql(false); $sql = TypeGetSunID($typeid,$dsql); //关键字分词技术 $ks = explode(" ",$keyWord); foreach($ks as $k){ $k = trim($k); if ($k!="") { $kwsqlarr[] = " (dede_archives.title like '%$k%') "; //$kwsqlarr[] = " (dede_archives.keywords like '%$k%') "; //如果需要相关到其它文章的关键字,解除此行注释 } } $where = implode(' OR ',$kwsqlarr); $sql="Select tp.namerule,tp.typedir,dede_full_search.aid,dede_full_search.url,dede_archives.* From dede_full_search left join dede_archives on dede_full_search.aid=dede_archives.ID left join dede_arctype tp on dede_archives.typeid=tp.ID where {$sql} and ((dede_archives.title like '%".$keyWord."%') or $where) order by dede_full_search.aid desc"; $dsql->SetQuery($sql); $dsql->Execute(); $ss=""; $i=0; while($row=$dsql->GetObject()){ $url=GetFileUrl($row->ID,$row->typeid,$row->senddate,$row->title,$row->ismake,$row->arcrank,$row->namerule,$row->typedir,$row->money); if ($showImg==0){ $ss=$ss.""; if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen); else $ss=$ss.$row->title; $ss=$ss.""; }else{ $ss=$ss.""; if ($row->litpic!="") $ss=$ss."litpic."" _src="".$row->litpic.""/>"; else $ss=$ss.""; $ss=$ss.""; if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen); else $ss=$ss.$row->title; $ss=$ss.""; } $i ; if (($rowCount!=0)&&($i>=$rowCount)) return $ss; } return $ss; }
第二步、调用代码放在文章模板页内
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
表示是取所有栏目内的相关文章(与当前文章的关键字相关),标题长度最大32,最多显示10条,不显示缩略图
或者这样写:
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三语文”)’/}
可以找到标题里,含有“高三 语文”,或者含有“高三”或“语文”的文章。有兴趣的朋友可以自己动手看看效果,多动手进步才能快。
以上就是织梦模板小白讲堂二十四:织梦模板相关文章怎么才能真正相关的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持错新网。新闻热点
疑难解答