杰奇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_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.彻底清除杰奇的缓存,就行了
适用于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.彻底清除杰奇的缓存,就行了