7、帖子内容页翻页按钮伪静态化。
打开 source/module/forum/forum_viewthread.php 文件,查找:
} else {
$_GET['viewpid'] = intval($_GET['viewpid']);
在它上面加入:
$multipage_thread = multi_thread($_G['forum_thread']['replies'] + 1, $_G['ppp'], $page, 'thread-'.$_G['tid']);
打开 source/function/function_core 文件,
在 function simplepage($num, $perpage, $curpage, $mpurl) { 前面增加一段(定义multi_thread):
function multi_thread($num, $perpage, $curpage, $mpurl, $maxpages = 0, $page = 10, $autogoto = FALSE, $simple = FALSE, $jsfunc = FALSE) {
return $num > $perpage ? helper_page_thread::multi($num, $perpage, $curpage, $mpurl, $maxpages, $page, $autogoto, $simple, $jsfunc) : '';
}
进入 source/class/helper/ 目录,将 helper_page.php 复制一份命名为 helper_page_thread.php 。并依次修改 helper_page_thread.php 文件中的以下部分:
将 helper_page 修改为 helper_page_thread (共两处,其中文件头注释中的那处无关紧要);
将 $pagevar = 'page='; 修改为 $pagevar = '-'; ;
在 $wml = defined('IN_MOBILE') && IN_MOBILE == 3; 前面新增:
if($_GET['authorid']) {
$url_filter = '-u'.$_GET['authorid'];
} elseif($_GET['ordertype'] == 1 || $_GET['ordertype'] == 2) {
$url_filter = '-o'.$_GET['ordertype'];
} else {
$url_filter = '-1';
}
将 $jsurl = $mpurl.(strpos($mpurl, '{page}') !== false ? '\'.replace(\'{page}\', this.value == 1 ? \'\' : this.value)': $pagevar.'\'+this.value;').'; doane(event);'; 替换为:
$jsurl = substr($mpurl, 0, -1).(strpos($mpurl, '{page}') !== false ? '\'.replace(\'{page}\', this.value == 1 ? \'\' : this.value)': $pagevar.'\'+this.value').'+\''.$url_filter.'.html\'; doane(event);';
在 public static function mpurl($mpurl, $pagevar, $page) { 下新增:
if($_GET['authorid']) {
$url_filter = '-u'.$_GET['authorid'];
} elseif($_GET['ordertype'] == 1 || $_GET['ordertype'] == 2) {
$url_filter = '-o'.$_GET['ordertype'];
} else {
$url_filter = '-1';
}
将 return $mpurl.$separator.$pagevar.$page; 替换为:
return substr($mpurl, 0, -1).$separator.$pagevar.$page.$url_filter.'.html';
打开 forum/viewthread.htm 模板文件,查找: <div class="pgt">$multipage</div> 替换为 <div class="pgt"><!--{if $_GET['highlight'] || $_GET['modthreadkey'] || $_GET['checkrush'] || $_G['forum_thread']['is_archived']}-->$multipage<!--{else}-->$multipage_thread<!--{/if}--></div> 。查找:<div class="pgs mtm mbm cl"> ,将其下方的 $multipage 的替换为: <!--{if $_GET['highlight'] || $_GET['modthreadkey'] || $_GET['checkrush'] || $_G['forum_thread']['is_archived']}-->$multipage<!--{else}-->$multipage_thread<!--{/if}--> 。
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。
/2015-03-08 15:05这个伪静态Apache Web Server规则怎么写呢?
/2015-03-12 21:06基本差不多。你比较一下官方默认规则两者的区别就知道了。