1、搜索模板高亮

e\search\result\index.php

101行:
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);
    $listtext=str_replace($search_r[keyboard],"<font color='#FD8675'>$search_r[keyboard]</font>",$listtext);
    $changerow+=1;
    //超过行数
    if($changerow>$rownum)
    {
        $changerow=1;
        $string.=$listtext;
        $listtext=$list_r[1];
    }
    $no++;
}

帝国CMS7.5搜索页面模板不支持灵动标签和万能标签的解决方法
查找

require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../data/dbcache/class.php");
require("../../class/q_functions.php");
require "../".LoadLang("pub/fun.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");

2,再查找

//替换公共模板变量
$listtemp=$tempr[temptext];

在上面添加如下代码

//新增支持灵动标签和万能标签
$tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);

修改完成,这样就可以在搜索模板中灵活使用帝国CMS强大的灵动和万能标签了

定要刷新一下:清除临时文件和数据


2、搜索模板分页导航按钮(e\class\connect.php)
function page1($num,$line,$page_line,$start,$page,$search){
    global $fun_r;
    if($num<=$line)
    {
        return '';
    }
    $search=RepPostStr($search,1);
    $url=eReturnSelfPage(0).'?page';
    $snum=2;//最小页数
    $totalpage=ceil($num/$line);//取得总页数
    //$firststr='<a title="'.$fun_r['trecord'].'">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';
    //上一页
    if($page<>0)
    {
        $toppage='<li class="active"><a href="'.$url.'=0'.$search.'">'.$fun_r['startpage'].'</a></li>&nbsp;';

        $pagepr=$page-1;
        $prepage='<li class="active"><a href="'.$url.'='.$pagepr.$search.'">'.$fun_r['pripage'].'</a></li>';
    }
    if($page==0)
    {
        $toppage='<li class="disabled"><a href="'.$url.'=0'.$search.'">'.$fun_r['startpage'].'</a></li>&nbsp;';
        $prepage='<li class="disabled"><a href="'.$url.'='.$pagepr.$search.'">'.$fun_r['pripage'].'</a></li>';
    }



    //下一页
    if($page!=$totalpage-1)
    {
        $pagenex=$page+1;
        $nextpage='&nbsp;<li class="active"><a href="'.$url.'='.$pagenex.$search.'">'.$fun_r['nextpage'].'</a></li>';
        $lastpage='&nbsp;<li class="active"><a href="'.$url.'='.($totalpage-1).$search.'">'.$fun_r['lastpage'].'</a></li>';
    }

    if($page==$totalpage-1)
    {
        $nextpage='&nbsp;<li class="disabled"><a href="'.$url.'='.$pagenex.$search.'">'.$fun_r['nextpage'].'</a></li>';
        $lastpage='&nbsp;<li class="disabled"><a href="'.$url.'='.($totalpage-1).$search.'">'.$fun_r['lastpage'].'</a></li>';
    }

    $starti=$page-$snum<0?0:$page-$snum;
    $no=0;
    for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
    {
        $no++;
        if($page==$i)
        {
            $is_1='<li class="active"><a href="#">';
            $is_2="</a></li>";
        }
        else
        {
            $is_1='<li><a href="'.$url.'='.$i.$search.'">';
            $is_2="</a></li>";
        }
        $pagenum=$i+1;
        $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
    }
    $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
    return $returnstr;
}


3、在各页面获取最上层栏目ID:$classid
if($class_r[$GLOBALS[navclassid]][bclassid]==0){
$classid=$GLOBALS['navclassid'];
$classname=$class_r[$classid][classname];
}else{
$classid=$class_r[$GLOBALS[navclassid]][bclassid];
$classname=$class_r[$classid][classname];
}
$classname_cu=  $class_r[$GLOBALS[navclassid]][classname];

4、动态页二级菜单循环时候当前页面的ID:$GLOBALS[navclassid]

5、php7登录后台空白或报错:php.ini  short_open_tag = On

6、登录显示“您还未登陆”
e/data/adminlogin权限问题所致
chown apache:apache /usr/nginx/html/e/data/adminlogin -R
chmod 755 /usr/nginx/html/e/data/adminlogin -R

7、根据当前栏目ID获取根目录ID和名称


$栏目id=$class_r[$GLOBALS[navclassid]][classid];
$栏目名称 = $class_r[$GLOBALS[navclassid]][classname];

    //根据当前栏目ID获取根目录ID
    function GetRootParentID($classid){
        global $empire , $dbtbpre ;      
        $bclassid = '999';
        while ($bclassid!='0'){
          $query = "select * from {$dbtbpre}enewsclass where classid=" . $classid ;
          $sql = $empire ->query($query);
          $r = $empire ->fetch($sql);
          if ($r[bclassid]=='0')
          { 
            return $r[classid];
          }
          else {//如果不是根目录的情况
            $bclassid = $r[bclassid];
            $classid = $r[bclassid];
          }
        }
      }

          //根据当前栏目ID获取根目录名称
    function GetRootParentName($classid){
      global $empire , $dbtbpre ;      
      $bclassid = '999';
      while ($bclassid!='0'){
        $query = "select * from {$dbtbpre}enewsclass where classid=" . $classid ;
        $sql = $empire ->query($query);
        $r = $empire ->fetch($sql);
        if ($r[bclassid]=='0')
        { 
          return $r[classname];
        }
        else {//如果不是根目录的情况
          $bclassid = $r[bclassid];
          $classid = $r[bclassid];
        }
      }
    }


8、帝国cms搜索页面根据时间筛选功能

 <form action="/e/search/index.php" id="tj" name="tj" method="post">
 <input name="show" id="show" value="title,smalltext,newstext,writer" type="hidden">
<input name="starttime" id="starttime" type="hidden">
<input name="endtime" id="endtime" type="hidden">

<input name="classid" id="classid" value="0" type="hidden">
<div class="input-group form-search input-group-lg">
<input name="keyboard" id="keyboard" type="text" class="form-control search-query" value="[!--keyboard--]" placeholder="请输入关键词...">
<span class="input-group-btn">
<button type="submit" class="btn btn-primary" data-type="last" onclick="stj()"><i class="search-icon glyphicon glyphicon-search"></i></button>
</span>
</div>
</form>


function setDateSearch(days)
{
    days = parseInt(days);
    var a = (new Date().getFullYear()+"-"+(new Date().getMonth()+1)+"-"+new Date().getDate());
    document.getElementById("endtime").value=a;
    var b = (new Date(new Date()-days*86400000).getFullYear() + "-" + (new Date(new Date()-days*86400000).getMonth()+1) + "-" + new Date(new Date()-days*86400000).getDate());
    document.getElementById("starttime").value=b;   
}

$('body').on('click','.search_filter_time ul li>a',function(){
    var time = $(this).data('time');
    if(time == 'week')
    {
        setDateSearch('7');
    }
    if(time == 'month')
    {
        setDateSearch('30');
    }
    if(time == 'year'){
        setDateSearch('365');
    }
    $('#tj').submit();
})


8、关闭前台所有动态页面后遗症的解决
如果开启了“关闭前台所有动态页面”选项,二次开发的文件如何能访问?
答:可以在开发的程序代码顶部一行加:define('EmpireCMSAdmin','1');
就可以不受此设置影响。

9、推荐变量过滤处理
(1)、数字型变量可以用(int)或intval函数处理,例子:
$page=(int)$_GET[*page*];

$page=intval($_GET[*page*]);
(2)、带小数点的数字型变量可以用(float)或floatval函数处理,例子:
$money=(float)$money;

$money=floatval($money);
(3)、字符型处理:
不带空格或其他特殊符号的,用
RepPostVar()函数过滤
带空格或其他特殊符号的用:
RepPostVar2()函数过滤


写入数据库的用:
RepPostStr()函数过滤