最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国cms 动态模式列表页伪静态,新方法

    正文概述 管理员   2024-04-11   158

    帝国cms,静态列表会存在不能定时更新页面,更新的文 章不能及时显示出来的问题,为了解决这个不是问题的问题,于是就写了个教程。

    修改后的效果为:显示着静态网页的链接,但是其实是动态模式的网页,也就是伪静态。

    伪静态的链接为:http(s)://域名/栏目文件名/index_2.html,就是类似这样的!

    伪静态生成代码

    放在网站根目 录运行即可

    <?php
    define('EmpireCMSAdmin','1');
    require("e/class/connect.php");
    require("e/class/db_sq l.php");
    require("e/class/functions.php");
    $link=db_connect();
    $empire=new mysq lquery();
    $editor=1;
    //验证用户
    $logininid=$lur['userid'];
    $loginin=$lur['username'];
    $loginrnd=$lur['rnd'];
    $loginlevel=$lur['groupid'];
    $loginadminstyleid=$lur['adminstyleid'];
    //ehash
    $sq l=$empire->query("select classname,classid,classpath from {$dbtbpre}enewsclass");
    while($s=$empire->fetch($sq l)){
    $wjt.= "rewrite ^([^\.]*)/{$s[classpath]}/$ \$1/e/action/ListInfo/index.php?classid={$s[classid]} last;\n";
    $wjt.= "rewrite ^([^\.]*)/{$s[classpath]}/index.html$ \$1/e/action/ListInfo/index.php?classid={$s[classid]} last;\n";
    $wjt.= "rewrite ^([^\.]*)/{$s[classpath]}/index_(.+?)\.html$ \$1/e/action/ListInfo/index.php?classid={$s[classid]}&page=\$2 last;\n";
    $wjt2.= "rewrite ^([^\.]*)/{$s[classpath]}/(.+?)\.html$ \$1/e/action/ShowInfo.php?classid={$s[classid]}&id=\$2 last;\n";
    
    $ap_wjt.= "RewriteRule ^{$s[classpath]}/$  e/action/ListInfo/?classid={$s[classid]}&page=0 \n";
    $ap_wjt.= "RewriteRule ^{$s[classpath]}/index.html$  e/action/ListInfo/?classid={$s[classid]}&page=0 \n";
    $ap_wjt.= "RewriteRule ^{$s[classpath]}/index_(.+?)\.html$  e/action/ListInfo/?classid={$s[classid]}&page=\$2 \n";
    $ap_wjt2.= "RewriteRule ^{$s[classpath]}/(.+?)\.html$ e/action/ShowInfo.php?classid={$s[classid]}&id=\$1 last;\n";
    }
    
    ?>
    
    Nginx规则:
    <pre>
    #栏目页
    <?=$wjt?>
    #内 容页
    <?=$wjt2?>
    </pre>
    
    Apache规则:
    <pre>
    RewriteEngine On 
    RewriteBase / 
    #栏目页
    <?=$ap_wjt?>
    #内 容页
    <?=$ap_wjt2?>
    </pre>

    将伪静态代码放到帝国伪静态里面。

    取消动态页面跳 转

    路径:e/action/ListInfo/index.php

    设置静态模式的分页链接

    帝国后台处设置

    修改显示的数量

    帝国后台设置的显示总记录数是不生效的,如果分页你想全部显示,那么可以设置生成静态页数为9999

    如果你分页形式是动态的话,请设置生成的静态页面数。

    如果你只想显示两百条,那么还需要修改代码

    路径:e/action/ListInfo/index.php

    200是总记录数,3是页码数。

    over!

    现在已经实现链接的显示了,但是页面标记存在问题,我也不清楚是什么回事,于是自定 义了一个user_InfoUsePage函数来代替之前的InfoUsePage函数

    function user_InfoUsePage($num,$line,$page_line,$start,$page,$search,$add){
    	global $fun_r;
    	$num=(int)$num;
    	$line=(int)$line;
    	$page_line=(int)$page_line;
    	$start=(int)$start;
    	$page=(int)$page;
    	if($num<=$line)
    	{
    		return '';
    	}
    	$search=RepPostStr($search,1);
    	$snum=2;//最小页数
    	$totalpage=ceil($num/$line)-1;//取得总页数,如果遇到数量问题,请检查此处
    	$firststr='<span class="page now-page">'.$num.'</span>';
    	//上一页
    	if($page<>0)
    	{
    		$toppage='<a href="'.eReturnRewritePageLink($add,0).'">'.$fun_r['startpage'].'</a>&nbsp;';
    		$pagepr=$page-1;
    		$prepage='<a href="'.eReturnRewritePageLink($add,$pagepr).'">'.$fun_r['pripage'].'</a>';
    	}
    	//下一页
    	if($page!=$totalpage-1)
    	{
    		$pagenex=$page+1;
    		$nextpage='&nbsp;<a href="'.eReturnRewritePageLink($add,$pagenex).'">'.$fun_r['nextpage'].'</a>';
    		$lastpage='&nbsp;<a href="'.eReturnRewritePageLink($add,$totalpage-1).'">'.$fun_r['lastpage'].'</a>';
    	}
    	$starti=$page-$snum<0?0:$page-$snum;
    	$no=0;
    	for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
    	{
    		$no++;
    // 		echo $page ;
    		$pagenum=$i+1;
    // 		echo $pagenum."\n";
    		
    		if($page==$pagenum){
    		    $is_1="<span class=\"page now-page\">";
    			$is_2="</span>";
    		    $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
    		}elseif($page==0 && $pagenum==1){
                $is_1="<span class=\"page now-page\">";
                $is_2="</span>";
                $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
    		}else{
    		    $is_1='<a href="'.eReturnRewritePageLink($add,$i).'">';
    			$is_2="</a>";
    		    $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
    		}
    	    
    		
    	}
    	$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
    	return $returnstr;
    }

    效果


    站长源码网 » 帝国cms 动态模式列表页伪静态,新方法

    发表评论

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

    联系作者

    请选择支付方式

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