帝国cms根据Tags 调用推荐相关文章,绝对好用!
以下是具体实现过程:
以下代码放到/e/class/userfun.php里!
<?php function user_otherlink($limit=5){ global $dbtbpre,$empire,$navinfor,$class_r; if($navinfor[infotags]){ $classid=(int)$classid; $limit=(int)$limit; $tbname=$class_r[$navinfor[classid]][tbname]; $tagarr=explode(",",$navinfor[infotags]); $arr=array(); $num=ceil($limit/count($tagarr)); foreach($tagarr as $k=>$v){ if(count($tagarr)==$k+1){ $num=$limit-count($arr); }else{ if($i<$num){ $num=ceil(($limit-count($arr))/count($tagarr)); } } $t=$empire->fetch1("select tagid,num from {$dbtbpre}enewstags where tagname='$v'"); if($t[tagid]){ $sql=$empire->query("select id from {$dbtbpre}enewstagsdata where tagid=$t[tagid]"); $i=0; while($s=$empire->fetch($sql)){ if(in_array($s[id],$arr)||$s[id]==$navinfor[id]){ continue; }else{ $arr[]=$s[id]; $i++; } if($i==$num){ break; } if(count($arr)==$limit){ break 2; } } if($t[num]>$num){ $linshi=$t[tagid]; } } } if(count($arr)>0){ $inid=implode(",",$arr); if(count($arr)<$limit&&$linshi){ $sql=$empire->query("select id from {$dbtbpre}enewstagsdata where tagid=$linshi and id not in($inid)"); while($s=$empire->fetch($sql)){ $arr[]=$s[id]; if(count($arr)==$limit){ break; } } } $inid=implode(",",$arr); $str=""; $news=$empire->query("select id,title,titleurl,titlepic from {$dbtbpre}ecms_{$tbname} where id in($inid)"); while($n=$empire->fetch($news)){ $str.='<li><a href="'.$n[titleurl].'">'.$n[title].'</a></li>'; } } return $str; } } ?>
内容页模板用以下代码调用:5为显示数量 自己修改
<?=user_otherlink(5)?>
自定义函数 user_OtherLink ,将此函数放入 e\class\userfun.php 文件中。
//根据tag获取相关信息 function user_OtherLink($num,$classid=0,$mid=0){ global $dbtbpre,$empire,$navinfor,$class_r; if(empty($navinfor['infotags'])){ return '暂无相关信息'; } if($mid&&$classid&&$class_r[$classid]['modid']!=$mid){ return '暂无相关信息'; } $tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1"); $temp_r=explode("[!--empirenews.listtemp--]",$tr['otherlinktemp']); $str=''; $tagsql=$empire->query("select * from {$dbtbpre}enewstagsdata where id='$navinfor[id]' and classid='$navinfor[classid]'"); $i=0; $isprint=array(); while($tagr=$empire->fetch($tagsql)){ if($i>=$num){ break; } $gsql=$empire->query("select * from {$dbtbpre}enewstagsdata where tagid='$tagr[tagid]'"); while($gr=$empire->fetch($gsql)){ $myprint='id'.$gr['id'].'class'.$gr['classid']; if(array_search($myprint,$isprint)!==false){ continue; } $isprint[]=$myprint; if($classid&&$classid!=$gr['classid']){ continue; } if($mid&&$mid!=$gr['mid']){ continue; } if($gr['id']==$navinfor['id']&&$gr['classid']==$navinfor['classid']){ continue; } $tbname=$class_r[$gr['classid']]['tbname']; if(!$tbname||InfoIsInTable($tbname)){ continue; } $r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where id='$gr[id]' limit 1"); if(!$r['id']){ continue; } $str.=RepOtherTemp($temp_r[1],$r,$tr); $i+=1; if($i>=$num){ break; } } } $keyboardtext=$temp_r[0].$str.$temp_r[2]; if($str){ return $keyboardtext; }else{ return '暂无相关信息'; } }
二、 使用方法:
函数说明:user_OtherLink(调用条数,指定栏目id,指定模型id) ;
相关文章模板采用的是公共模板里的相关信息模板。
调用示例:
<?=user_OtherLink(10,0,1)?>
在需要显示帝国cms站内搜索地方添加如下代码 formname=search_js1method=postaction=/e/search/index.phponsubmit=returnsearch_check(docume
?=esub(ReturnClassAddField(2,eclasspagetext),900,...,1)?答案就不说了吧,栏目2,esub截取xx字。
有两个字段值:“新家教、紧急”。通常我们用帝国CMS 标签调用 出是直接显示“新家教、紧急”文字的。如果想用上
帝国CMS任意字段转换为图片插件,支持中文英文数字生成,文章标题,电话号码、QQ号码均可, 使用方法: 一、将以