技术宅

当前位置:首页 > 网站教程 > 其他教程

其他教程

杰奇cms2.4章节分页教程

时间:09-27 作者:
此教程
适用于2.4任意版本,如果是官网版,需要自行解密下方步骤涉及的文件。

1.打开/modules/article/class/package.php,在文件第二行,也就是<?php下方添加

function str_spli
此教程
适用于2.4任意版本,如果是官网版,需要自行解密下方步骤涉及的文件。

1.打开/modules/article/class/package.php,在文件第二行,也就是<?php下方添加

function str_split_unicode($str, $l = 3000) {
    if ($l > 0) {
        $ret = array();
        $len = mb_strlen($str, "GBK");
        for ($i = 0; $i < $len; $i += $l) {
            $ret[] = mb_substr($str, $i, $l, "GBK");
        }
        return $ret;
    }
    return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
3000代表一页的字数(单纯的字符,不是汉字)


然后在文件内查找$jieqiTpl->assign("jieqi_content", $tmpvar); ,替换为如下。


if (isset($_REQUEST["cid"])) {     //重新获取一遍章节id,赋予新字段t_cid
    $_REQUEST["cid"] = intval($_REQUEST["cid"]);
    $t_cid = $_REQUEST["cid"];
}
$t_url = jieqi_geturl("article", "chapter", $t_cid, $this->id, $tmpisvip, $this->metas["articlecode"]);    //以杰奇自身的方法,生成当前页面的路径。
$jieqiTpl->setCaching(0);
if (isset($_REQUEST["cpage"])) {    //以cpage为参数,从前台闯入,表示当前页的页码
    $_REQUEST["cpage"] = intval($_REQUEST["cpage"]);
    $t_page = $_REQUEST["cpage"];
    if($_REQUEST["cpage"] > 0){    //根据页码开始调用章节数组中的数据,并且和前面定义的当前页面链接,组合成上一页链接,并且页面走完的时候设置为空值,方便前台判断。
        $cpage = $_REQUEST["cpage"] - 1;
        $t_url = str_replace('.html','',$t_url);
        $t_preview = $t_url."_".$cpage.".html";
    }else{
        $cpage = 0;
        $t_preview = "";
    }
}else{
    $cpage = 0;
    $t_page = "";
}
$tmpvar = str_split_unicode($tmpvar);
$t_num = sizeof($tmpvar);   //判断章节被分成了几页,用来生成比例。
if($t_num >= $cpage + 2){   //组合成下一页链接
    $npage = $cpage + 2;
    $t_url = str_replace('.html','',$t_url);
    $t_next = $t_url."_".$npage.".html";
}else{
    $t_next = "";
}
$tmpvar = $tmpvar[$cpage];
$jieqiTpl->assign("jieqi_content", $tmpvar);   //章节内容
$jieqiTpl->assign("t_next", $t_next);    //下一页链接
$jieqiTpl->assign("t_preview", $t_preview);    //上一页链接
$jieqiTpl->assign("t_page", $t_page);


2.打开/modules/article/templates/style.html,把上一章,下一章的a标签替换为如下:

{?if $t_preview != ""?}<a href="{?$t_preview?}" id="t_preview">上一页</a>{?else?}<a href="{?$preview_page?}">上一章</a>{?/if?}


{?if $t_next != ""?}<a href="{?$t_next?}" id="t_next">下一页</a>{?else?}<a href="{?$next_page?}">下一章</a>{?/if?}

3.打开伪静态设置,如apache,添加一条

rewrite ^/book/([0-9]+)/([0-9]+)_([0-9]+)\.html$ /modules/article/reader.php?aid=$1&cid=$2&cpage=$3;

4.彻底清除杰奇的缓存,就行了