最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国cms8.0版本搜索列表页不支持标签的解决方法

    正文概述 管理员   2025-11-29   5

    我们都知道帝国cms8、0模板搜索列表页是不支持任何调用标签的,如sql语句和灵动标签等。

    复制以下代码到e/search/result/index.php,即可解决这个问题,标题还可以高亮显示。

    代码如下:

    <?php
    require("../../class/connect.php");
    require("../../data/dbcache/class.php");
    //require("../../class/q_functions.php");这里注释掉了,www.daixiao360.cn
    require("../../class/functions.php");//这里新增,www.daixiao360.cn
    require('../../class/t_functions.php');//这里新增,www.daixiao360.cn
    require "../".LoadLang("pub/fun.php");
    $editor=1;
    eCheckCloseMods('search');//关闭模块
    $link=db_connect();
    $empire=new mysqlquery();
    $getvar=$_GET['getvar'];
    if(empty($getvar))
    {
    	$getfrom="history.go(-1)";
    }
    else
    {
    	$getfrom="../../../search/";
    }
    //搜索结果
    $searchid=(int)$_GET['searchid'];
    if(empty($searchid))
    {
    	printerror("SearchNotRecord",$getfrom,1);
    }
    //搜索用户组
    if($public_r['searchgroupid'])
    {
    	include('../../member/class/user.php');
    	@include("../../data/dbcache/MemberLevel.php");
    	$user=islogin();
    	$mvgresult=eMember_ReturnCheckMVGroup($user,$public_r['searchgroupid']);
    	if($mvgresult<>'empire.cms')
    	{
    		printerror("NotLevelToSearch",$getfrom,1);
    	}
    }
    $search_r=$empire->fetch1("select searchid,keyboard,result_num,orderby,myorder,tbname,tempid,andsql,trueclassid from {$dbtbpre}enewssearch where searchid='$searchid'");
    if(empty($search_r['searchid'])||InfoIsInTable($search_r['tbname']))
    {
    	printerror("SearchNotRecord",$getfrom,1);
    }
    if(!eInfoHaveTable($search_r['tbname'],0))
    {
    	printerror("SearchNotRecord",$getfrom,1);
    }
    $search_r['tempid']=(int)$search_r['tempid'];
    
    $page=(int)$_GET['page'];
    $page=RepPIntvar($page);
    $start=0;
    $page_line=(int)$public_r['search_pagenum'];//每页显示链接数
    $line=(int)$public_r['search_num'];//每页显示记录数
    $offset=$page*$line;//总偏移量
    if($offset>$public_r['searchupnum'])
    {
    	printerror("SearchNotRecord",$getfrom,1);
    }
    $search="&searchid=".$searchid;
    $myorder=$search_r['orderby'];
    if(empty($search_r['myorder']))
    {
    	$myorder.=" desc";
    }
    $add=stripSlashes($search_r['andsql']);
    $num=$search_r['result_num'];
    if(strstr($add,"")||strstr($search_r['andsql'],""))
    {
    	exit();
    }
    //ids
    $pageids=eGetidsLimitMlen($search_r['andsql'],10,$line,$page,1);
    if(!$pageids)
    {
    	printerror("SearchNotRecord",$getfrom,1);
    }
    $query="select * from {$dbtbpre}ecms_".$search_r['tbname']." where id in (".$pageids.")";
    //$query.=" order by ".$myorder."".do_dblimit($line,$offset);
    $query.=" order by ".$myorder."";
    $sql=$empire->query($query);
    $listpage=page1($num,$line,$page_line,$start,$page,$search);
    //取得模板
    if($search_r['tempid'])
    {
    	$tempr=$empire->fetch1("select temptext,subnews,listvar,".do_dbkeyfield_spe('rownum').",showdate,modid,subtitle,docode from ".GetTemptb("enewssearchtemp")." where tempid='".$search_r['tempid']."'".do_dblimit_one());
    }
    elseif(empty($class_r[$search_r['trueclassid']]['searchtempid']))
    {
    	$tempr=$empire->fetch1("select temptext,subnews,listvar,".do_dbkeyfield_spe('rownum').",showdate,modid,subtitle,docode from ".GetTemptb("enewssearchtemp")." where isdefault=1".do_dblimit_one());
    }
    else
    {
    	$tempr=$empire->fetch1("select temptext,subnews,listvar,".do_dbkeyfield_spe('rownum').",showdate,modid,subtitle,docode from ".GetTemptb("enewssearchtemp")." where tempid='".$class_r[$search_r['trueclassid']]['searchtempid']."'".do_dblimit_one());
    }
    $have_class=1;
    //替换公共模板变量
    $tempr['temptext']=DtNewsBq('listsearch'.$search_r['tempid'],$tempr['temptext'],0);////这里新增,www.daixiao360.cn 
    $listtemp=$tempr['temptext'];
    if($public_r['searchtempvar'])
    {
    	$listtemp=ReplaceTempvar($listtemp);
    }
    $search_r['keyboard']=ehtmlspecialchars($search_r['keyboard']);
    $listtemp=str_replace("[!--show.page--]",$listpage,$listtemp);
    $listtemp=str_replace("[!--keyboard--]",$search_r['keyboard'],$listtemp);
    $listtemp=str_replace("[!--ecms.num--]",$num,$listtemp);
    $url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a>&nbsp;>&nbsp;".$fun_r['adsearch'];
    $pagetitle=$fun_r['adsearch']." ".$search_r['keyboard'];
    $listtemp=ReplaceSvars($listtemp,$url,0,$pagetitle,$pagetitle,$pagetitle,$addr,0);
    $rownum=$tempr['rownum'];
    if(empty($rownum))
    {
    	$rownum=1;
    }
    $formatdate=$tempr['showdate'];
    $subnews=$tempr['subnews'];
    $subtitle=$tempr['subtitle'];
    $docode=$tempr['docode'];
    $modid=$tempr['modid'];
    $listvar=str_replace('[!--news.url--]',$public_r['newsurl'],$tempr['listvar']);
    //字段
    $ret_r=ReturnReplaceListF($tempr['modid']);
    //取得列表模板
    $list_exp="[!--empirenews.listtemp--]";
    $list_r=explode($list_exp,$listtemp);
    $listtext=$list_r[1];
    $no=$offset+1;
    $changerow=1;
    while($r=$empire->fetch($sql))
    {
    	//替换列表变量
    $r['title']=str_replace($search_r['keyboard'],"<font color='red'>{$search_r['keyboard']}</font>",$r['title']);////这里新增,www.daixiao360.cn 
    	$repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
    	$listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
    	$changerow+=1;
    	//超过行数
    	if($changerow>$rownum)
    	{
    		$changerow=1;
    		$string.=$listtext;
    		$listtext=$list_r[1];
    	}
    	$no++;
    }
    db_close();
    $empire=null;
    //多余数据
    if($changerow<=$rownum&&$listtext<>$list_r[1])
    {
    	$string.=$listtext;
    }
    $string=$list_r[0].$string.$list_r[2];
    echo stripSlashes($string);
    ?>


    站长源码网 » 帝国cms8.0版本搜索列表页不支持标签的解决方法

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元