DEDE的相关文章完全不相干。让朋友们在DEDE官网上发表关于根据TAG显示信息的相关文章也是非常好的。不幸的是,在根据那里的文章内容修改了DEDE的代码后,我还是做不到。可能是我能力有限,自然可能代码有问题。
现在我们有了一个解决方案:
最后在inc_functions.php?>加上之前。
拷贝代码代码以下:
//查看特定频道里包括相对关键词的文章内容,并排出
//主要参数表明:$showImg是不是显示信息缩列图,0表明无法显示,1表明显示信息
//$titleLen题目长短,0表明无尽
//$rowCount輸出个数,0表明无尽
//$typeid频道ID,0表明全部频道
//$keyWord关键词,字符串数组
functionShowKeyWordArc($showImg,$titleLen,$rowCount,$typeid,$keyWord){
$dsql=newDedeSql(false);
$sql=TypeGetSunID($typeid,$dsql);</p>
<p>//关键词分词算法
$ks=explode("",$keyWord);
foreach($ksas$k){
$k=trim($k);
if($k!=""){
$kwsqlarr[]="(xkzzz_archives.titlelike'%$k%')";
//$kwsqlarr[]="(xkzzz_archives.keywordslike'%$k%')";//假如必须有关到其他文章内容的关键词,消除此番注解
}
}
$where=implode('OR',$kwsqlarr);</p>
<p>$sql="Selecttp.namerule,tp.typedir,xkzzz_full_search.aid,xkzzz_full_search.url,xkzzz_archives.*Fromxkzzz_full_searchleftjoinxkzzz_archivesonxkzzz_full_search.aid=xkzzz_archives.IDleftjoinxkzzz_arctypetponxkzzz_archives.typeid=tp.IDwhere{$sql}and((xkzzz_archives.titlelike'%".$keyWord."%')or$where)orderbyxkzzz_full_search.aiddesc";
$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><ahref='".$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><spanclass='sjdqimggl'><ahref='".$url."'target=_blank>";</p>
<p>if($row->litpic!="")$ss=$ss."<imgsrc='".$row->litpic."'alt='".$row->title."'/>";
else$ss=$ss."<imgsrc='/images/titl.gif'/>";
$ss=$ss."</a></span><spanclass='sjdqtxttl'><ahref='".$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;
}
复制下面的代码:
//检查特定频道中包含相对关键字的文章内容,并打印输出
//主要参数表示:$showImg是显示信息的缩略图表,0表示无法显示,1表示显示信息
/$titlelen标题长度,0表示无休止
/$rowcount输出数,0表示无休止
/$typeID频道ID,0表示所有频道
/$keyword关键字,string
$SQL=TypeGetSunID($typeid,$dsql);</p>;
<;p>//关键词分割算法
$ks=explode(",$keyWord);
foreach($ksas$k){
$k=trim($k);
if($k!=""){
$kwsqlarr[]="(xkzzz_archives.titlelike“%$k%”;
//$kwsqlarr[]="(xkzzz_archives.keywordslike“%$k%”;//如果一定要和其他文章中的关键词有关联,就去掉这个评论
}
}
$where=implie('or',$kwsqlarr);</p>;
<;p>$sql="Selecttp.namerule,tp.typedir,xkzzz_full_search.aid,xkzzz_full_search.url,xkzzz_archives。*从xkzzz_full_search左加入xkzzz_archivesonxkzzz_full_search.aid=xkzzz_archives。IDleftjoinxkzzz_arctypeTPonxkzzz_archives.typeid=TP。IDwhere{$sql}和((xkzzz_archives.titlelike“%”。$keyWord。%')或$where)orderbyxkzzz_full_search.aiddesc";
$dsql->;SetQuery($SQL);
$dsql->;执行();
$ss="";
$I=0;
while($row=$dsql->;GetObject()){
$URL=getfileURL($row->;ID,$row->;typeid,$row->;发送日期,$row->;标题,$row->;ismake,$row->;arcrank,$row->;namerule,$row->;typedir,$row->;钱);
if($showImg==0){
$ss=$ss,"<李><ahref='"。$url。target=_blank>";
if($titlelen!=0)$ss=$ss.cn_substr($row->;title,$titlelen);
else$ss=$ss。$row->;标题;
$ss=$ss。</A>;</李>";
}else{
$ss=$ss。<李><spanclass='sjdqimggl'>。<ahref='"。$url。target=_blank>";</p>;
<;p>if($row->;litpic!="")$ss=$ss。"<imgsrc='"。$row->;litpic。”alt='"。$row->;标题。”/>;";
else$ss=$ss。<imgsrc='/images/titl.gif'/>;";
$ss=$ss。</a>;</span>。<spanclass='sjdqtxttl'>。<ahref='"。$url。target=_blank>";
if($titlelen!=0)$ss=$ss.cn_substr($row->;title,$titlelen);
else$ss=$ss。$row->;标题;
$ss=$ss。</A>;</span>。</李>";
}
$I;
if(($rowCount!=0)&;&($i>=$rowCount))返回$ss
}
return$ss;
}
2放在文章内容的模板页面。
{dede:fieldname='keywords'function='showkeywordsarc(0,32,10,0,"@me")'/}
表示选择所有频道的相关文章(与今天文章的关键词相关),标题长度为32,最多10条信息,无法显示缩略图。
或者
{dede:fieldname='keywords'function='showkeywordsarc(0,32,10,0,"高三语文课")'/}
可以找到带有"高三语文课"或者"高三"或者"语文课"的标题
例如,这一段:
相关文章
{dede:likearttitlelen='24'row='10'}
[field:textlink/]<;>
{/dede:likeart}
将其更改为:
相关文章
{dede:fieldname='keywords'function='showkeywordsarc(0,32,10,0,"@me)"/}
声明:本号不是我根据关键词写的文章。在客户体验和SEO方面都非常好
。但是唯一不太好的地方就是形成静态数据的时候会慢很多。呵呵,网络服务器得努力了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)