帝国cms搜索模板支持调用动态标签技巧
发布时间:2021-12-01 21:40:05 所属栏目:教程 来源:互联网
导读:复制以下代码到e/search/result/index.php 001 ?php 002 require(../../class/connect.php); 003 require(../../class/db_sql.php); 004 require(../../class/functions.php); 005 require(../../class/t_functions.php); 006 require(../../data/dbcache/cl
复制以下代码到e/search/result/index.php 001 <?php 002 require('../../class/connect.php'); 003 require('../../class/db_sql.php'); 004 require('../../class/functions.php'); 005 require('../../class/t_functions.php'); 006 require('../../data/dbcache/class.php'); 007 require "../".LoadLang("pub/fun.php"); 008 $editor=1; 009 eCheckCloseMods('search');//关闭模块 010 $link=db_connect(); 011 $empire=new mysqlquery(); 012 $getvar=$_GET['getvar']; 013 if(empty($getvar)) { 014 $getfrom="history.go(-1)"; 015 } else { 016 $getfrom="../../../search/"; 017 } 018 //搜索结果 019 $searchid=(int)$_GET['searchid']; 020 if(empty($searchid)) { 021 printerror("SearchNotRecord",$getfrom,1); 022 } 023 $search_r=$empire->fetch1("select searchid,keyboard,result_num,orderby,myorder,tbname,tempid,andsql,trueclassid from {$dbtbpre}enewssearch where searchid='$searchid'"); 024 if(empty($search_r['searchid'])||InfoIsInTable($search_r[tbname])) { 025 printerror("SearchNotRecord",$getfrom,1); 026 } 027 $page=(int)$_GET['page']; 028 $page=RepPIntvar($page); 029 $start=0; 030 $page_line=$public_r['search_pagenum'];//每页显示链接数 031 $line=$public_r['search_num'];//每页显示记录数 032 $offset=$page*$line;//总偏移量 033 $search="&searchid=".$searchid; 034 $myorder=$search_r[orderby]; 035 if(empty($search_r[myorder])) { 036 $myorder.=" desc"; 037 } 038 $add=stripSlashes($search_r['andsql']); 039 $num=$search_r[result_num]; 040 $query="select * from {$dbtbpre}ecms_".$search_r[tbname].($add?' where '.substr($add,5):''); 041 $query.=" order by ".$myorder." limit $offset,$line"; 042 $sql=$empire->query($query); 043 $listpage=page1($num,$line,$page_line,$start,$page,$search); 044 //取得模板 045 if($search_r['tempid']) { 046 $tempr=$empire->fetch1("select temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewssearchtemp")." where tempid='".$search_r['tempid']."' limit 1"); 047 } elseif(empty($class_r[$search_r[trueclassid]][searchtempid])) { 048 $tempr=$empire->fetch1("select temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewssearchtemp")." where isdefault=1 limit 1"); 049 } else { 050 $tempr=$empire->fetch1("select temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewssearchtemp")." where tempid='".$class_r[$search_r[trueclassid]][searchtempid]."' limit 1"); 051 } 052 $have_class=1;//页面支持标签 053 $tempr[temptext]=DtNewsBq('listsearch'.$search_r['tempid'],$tempr[temptext],0);//替换公共模板变量 054 $listtemp=$tempr[temptext]; 055 if($public_r['searchtempvar']) { $listtemp=ReplaceTempvar($listtemp); 056 } 057 $search_r[keyboard]=ehtmlspecialchars($search_r[keyboard]); 058 $listtemp=str_replace("[!--show.page--]",$listpage,$listtemp); 059 $listtemp=str_replace("[!--keyboard--]",$search_r[keyboard],$listtemp); 060 $listtemp=str_replace("[!--ecms.num--]",$num,$listtemp); 061 $url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a> > ".$fun_r['adsearch']; 062 $pagetitle=$fun_r['adsearch']." ".$search_r[keyboard]; 063 $listtemp=ReplaceSvars($listtemp,$url,0,$pagetitle,$pagetitle,$pagetitle,$add,0); 064 $rownum=$tempr[rownum]; 065 if(empty($rownum)) { $rownum=1; 066 } 067 $formatdate=$tempr[showdate]; 068 $subnews=$tempr[subnews]; 069 $subtitle=$tempr[subtitle]; 070 $docode=$tempr[docode]; 071 $modid=$tempr[modid]; 072 $listvar=str_replace('[!--news.url--]',$public_r[newsurl],$tempr[listvar]); 073 //字段 074 $ret_r=ReturnReplaceListF($tempr[modid]); 075 //取得列表模板 076 $list_exp="[!--empirenews.listtemp--]"; 077 $list_r=explode($list_exp,$listtemp); 078 $listtext=$list_r[1]; 079 $no=$offset+1; 080 $changerow=1; 081 while($r=$empire->fetch($sql)) { 082 //替换列表变量 083 $repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode); 084 $listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext); 085 $listtext=str_replace($search_r[keyboard],"<font color='red'>$search_r[keyboard]</font>",$listtext); 086 $changerow+=1; 087 //超过行数 088 if($changerow>$rownum) { 089 $changerow=1; 090 $string.=$listtext; 091 $listtext=$list_r[1]; 092 } $no++; 093 } db_close(); 094 $empire=null; 095 //多余数据 096 if($changerow<=$rownum&&$listtext<>$list_r[1]) { 097 $string.=$listtext; 098 } 099 $string=$list_r[0].$string.$list_r[2]; 100 echo stripSlashes($string); 101 ?> ![]() (编辑:揭阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |