方法一:
标签名称:likearticle
功能说明:自动关连文档标签
适用范围:内容页使用
基本语法:
{dede:likearticle row='' col='' titlelen='' infolen=''}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:likearticle}
参数说明:
col='' 分多少列显示(默认为单列)
row='10' 返回文档列表总数
titlelen = '30' 标题长度 等同于titlelength
infolen='160' 表示内容简介长度 等同于infolength
mytypeid=0 手工指定要限定的栏目id,用,分开表示多个
innertext = '' 单条记录样式(指标签中间的内容)
底层模板字段:
ID(同 id),typeid, channel, arcrank, mid, click, title, fulltitle, textlink, info, filename, typeurl, stime,senddate, litpic(同picname)
+++++++++++++++++++++++++++
如何修改:
找到文件:/include/taglib/likearticle.lib.php
找到代码:
$typeid = " And arc.typeid in($typeid) And arc.id<>$arcid ";
修改为:
$typeid = " And arc.id<>$arcid ";
保存,再更新就可以搞定了。OK
方法二:
{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.keywords 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'].”‘ target=’_blank’>”.$row['title'].”</a></li>”;
}
{/dede:field}
适用于:只有一个关键字的文档.
方法三:
织梦的调用相关文章根本就是调用无关文章!然而在网上搜集的解决方法,都是很久以前的了,织梦改版文件名改了些,找了半天终于找到了。在别人的基础上改了下,自己测试可以用了。
好了,看下具体如何做吧:
在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;
}
加好代码后在文章内容模板页需要的位置加上如下代码:
{dede:likearticle row='10' titlelen='42'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}