phpcms v9分类筛选伪静态分页二次开发

如果是用的动态url则不存在这个分页问题!主要是设置伪静态后,在构成分页时,那里的传URLRULE仍然是原来默认你设置的栏目的url规则!所以我们在构造筛选的同时,也要重新构造url规则!参考房产信息列表可知分类信息模型里,官方已经给我们写好了一个重新构造url规则的方法!makeurlrule();
当时打开这个方法看的时候,就可以其实归根到底,还是一个get_url()的方法出了问题!


因此我们打开global.func.php这个文件!找到get_url()这个方法!你就会发现,这里取得的url始终是动态的,即便你设置了伪静态,这里取得url也一样是动态的!因些,我们要对这个方法进行修改!下进我贴上代码!

/**
* 重写取得当前页面的完整URL地址,支持取得伪静态URL 4am 2015_07_21 伪静态分页错误 887921
*/
function get_url() {
        $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
        $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
        //判断重写是Apache还是ISAPI_Rewrite环境
        if($_SERVER['REDIRECT_QUERY_STRING'] || $_SERVER['REDIRECT_URL']){
                //Apche环境
                return $sys_protocal.$host.$_SERVER['REDIRECT_URL'];
        }else if($_SERVER['HTTP_X_REWRITE_URL']){
                //ISAPI Rewrite环境
                return $sys_protocal.$host.$_SERVER['HTTP_X_REWRITE_URL'];
        }else{
                //取得动态url
                $php_self = $_SERVER['PHP_SELF'] ? safe_replace($_SERVER['PHP_SELF']) : safe_replace($_SERVER['SCRIPT_NAME']);
                $path_info = isset($_SERVER['PATH_INFO']) ? safe_replace($_SERVER['PATH_INFO']) : '';
                $relate_url = isset($_SERVER['REQUEST_URI']) ? safe_replace($_SERVER['REQUEST_URI']) : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.safe_replace($_SERVER['QUERY_STRING']) : $path_info);
                return $sys_protocal.$host.$relate_url;
        }
}

最后要注意的就是,在模板中调用的时候,一定要加用urlrule

120900w91bxbd6lxtdkknk.png