aaa
网站中用到两个甚至多个搜索模板,在搜索代码中除了会设置指定的模板id以外,还需要更改以下内容,目的就为了解决缓存问题,比如说,用户可能是在搜索“模板”图文列表后,再去搜“教程”,搜索列表显示的还是之前“模板”的搜索模板。提醒大家一定要先备份哟!
教程如下: 将以下内容替换到/e/search/result/index.php
教程如下: 将以下内容替换到/e/search/result/index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | <?php require ( '../../class/connect.php' ); require ( '../../class/db_sql.php' ); require ( '../../class/functions.php' ); require ( '../../class/t_functions.php' ); require ( '../../data/dbcache/class.php' ); 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); } $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); } $page =(int) $_GET [ 'page' ]; $page =RepPIntvar( $page ); $start =0; $page_line = $public_r [ 'search_pagenum' ]; //每页显示链接数 $line = $public_r [ 'search_num' ]; //每页显示记录数 $offset = $page * $line ; //总偏移量 $search = "&searchid=" . $searchid ; $myorder = $search_r [orderby]; if ( empty ( $search_r [myorder])) { $myorder .= " desc" ; } $add = stripSlashes ( $search_r [ 'andsql' ]); $num = $search_r [result_num]; $query = "select * from {$dbtbpre}ecms_" . $search_r [tbname].( $add ? ' where ' . substr ( $add ,5): '' ); $query .= " order by " . $myorder . " limit $offset,$line" ; $sql = $empire ->query( $query ); $listpage =page1( $num , $line , $page_line , $start , $page , $search ); //取得模板 if ( $search_r [ 'tempid' ]) { $tempr = $empire ->fetch1( "select temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from " .GetTemptb( "enewssearchtemp" ). " where tempid='" . $search_r ['tempid ']."' limit 1"); } elseif ( empty ( $class_r [ $search_r [trueclassid]][searchtempid])) { $tempr = $empire ->fetch1( "select temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from " .GetTemptb( "enewssearchtemp" ). " where isdefault=1 limit 1" ); } else { $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" ); } $have_class =1; //页面支持标签 $tempr [temptext]=DtNewsBq( 'list' . $search_r [ 'tempid' ], $tempr [temptext],0); //替换公共模板变量 $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> > " . $fun_r [ 'adsearch' ]; $pagetitle = $fun_r [ 'adsearch' ]. " " . $search_r [keyboard]; $listtemp =ReplaceSvars( $listtemp , $url ,0, $pagetitle , $pagetitle , $pagetitle , $add ,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 )) { //替换列表变量 $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 ( $sring ); ?> |