dede如何调用相关文章

dede如何调用相关文章

织梦的调用相关文章根本就是调用无关文章!然而在网上搜集的解决方法,都是很久以前的了,织梦改版文件名改了些,找了半天终于找到了。在别人的基础上改了下,自己测试可以用了。

好了,看下具体如何做吧:
在include文件夹中找到archives.func.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.”<LI><a href='”.$url.”‘ target=_blank>”;
if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen);
else $ss=$ss.$row->title;
$ss=$ss.”</A></LI>”;
}else{
$ss=$ss.”<LI><span class=’sjdqimggl’><a href='”.$url.”‘ target=_blank>”;
if ($row->litpic!=””) $ss=$ss.”<img src='”.$row->litpic.”‘ alt='”.$row->title.”‘ />”;
else $ss=$ss.”<img src=’/images/titl.gif’/>”;
$ss=$ss.”</a></span><span class=’sjdqtxttl’><a href='”.$url.”‘ target=_blank>”;
if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen);
else $ss=$ss.$row->title;
$ss=$ss.”</A></span></LI>”;
}
$i++;
if (($rowCount!=0)&&($i>=$rowCount)) return $ss;
}
return $ss;
}

加好代码后在文章内容模板页需要的位置加上如下代码:
<div>
<dl>
<dt><b>相关文章</b></dt>
<dd>
<ul>
{dede:likearticle row=’10’ titlelen=’42’}
<li><a href=”[field:arcurl/]”>[field:title/]</a></li>
{/dede:likearticle}                     </ul>
</dd>
</dl>
</div><!– /相关文章 –>

大功告成!

有关全站调用:
找到文件:\include\taglib\likearticle.lib.php
找到代码:
$typeid = ” And arc.typeid in($typeid) And arc.id<>$arcid “;
修改为:
$typeid = ” And arc.id<>$arcid “;
保存,再跟新就搞定了找到文件:\include\taglib\likearticle.lib.php

此条目发表在dedecms参考分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>