分页的代码适合任何一种编辑器,只要把翻页的规则也就是分页符改成你的编辑器支持的就可以了,我设置的是四个////,如果你的编辑器不支持这个分页符,手动输入也是有效的 本次修改的wecenter版本:WeCenter 2.5.16,是刚下的,前面的版本没测试,不过应该修改方法是一样的 问题的我还没动,文章的测试过可以使用了,用百度编辑器和wecenter的编辑器都测试过可以使用的,不过在有些东西还没有最终确认之前,请不要用于运营测试 #为文章添加分页功能 (1).替换原来的内容显示,用我提供的代码替换掉官方的内容显示代码 //路径:views\default\article //修改文件:index.tpl.htm //代码52行 //原代码只修改默认的模版就可以实现,不过我是用php的,jquery的分页插件,弄的我头晕,基于bootstrap主题的jquery分页插件bootpag是英文文档,英文不好就不去管他了,虽然有在线翻译,但是也不是特别的好
<?php echo $this->article_info['message']; ?>
//修改后代码
<?php $content = $this->article_info['message']; //获取内容把内容放入content的变量中 $G_cfg = '////';//设置分页符,用这个分页符判断应该这么分页 $arr_content = explode($G_cfg, $content); //按分页符把文章内容切成数组,就是切成几页 $page = @(int)$_GET['page']; // GET传递页码page参数,通过get来决定显示那页 $pamount= sizeof($arr_content);// 所切数组的大小 if($page <= 0) $page = 1; // 当$page不存在时,为首页 if($page > $pamount && $pamount > 0) $page = $pamount; // 当$page大于数组大小值时,为尾页 $a_id = $this->article_info['id'];//获取当前文章的ID放入a_id的变量 $content = $arr_content[$page-1]; $strpage = ''; echo $content;//显示当前页面的内容 ?> <br/> <?php if($pamount > 1) { if($pamount > 1) { //循环写入翻页的按钮 for($i=0;$i<$pamount;$i++) { if($i+1 == $page) { $strpage .= '<li class="disabled"><a href="javascript:void(0);">' . ($i+1) . '</a></li>'; } else { $strpage .= '<li class=""><a href="article/' . $a_id . '?page=' . ($i+1) . '" title=" 第' . ($i+1) . '页" target="_self">' . ($i+1) . '</a></li> '; } } $strpage = substr($strpage, 0, strlen($strpage)-3); } ?> <ul class="pagination bootpag"> <li class="prev"><a href="article/<?php echo $a_id; ?>?page=1" target="_self" title="首页">«</a></li> <?php echo $strpage; ?> <li class="next disabled"><a href="article/<?php echo $a_id; ?>?page=<?php echo $pamount; ?>" target="_self" title="尾页">»</a></li> </ul> <?php } ?>只替换这一句,分页符我已经备注打起来了,你觉得分页该这么分,就修改那个算是叫分页规则吧,你觉得用那种分页比较容易就用那个,如果是百度编辑器的,要配合使用百度编辑器的分页功能的话就用这个代码
</p>_ueditor_page_break_tag_<p>修改位置是代码中的
$G_cfg = '</p>_ueditor_page_break_tag_<p>';//设置分页符,用这个分页符判断应该这么分页这个位置 PS:文章分页显示,放上去就能用了,不过要实现分页功能,还是要在编辑器上写入分页符,我写的规则是////,四个横杠,如图 内容页显示效果 2014.8.3日问题补充:
#为问题内容添加分页功能 (1).替换原来的内容显示,用我提供的代码替换掉官方的内容显示代码 //路径:views\default\question //修改文件:index.tpl.htm //代码101行 //原代码问题的a链接已经搞定了,现在的不过回复分页的问题还是没有解决,这个我现在的做法是把回复的编辑器修改成百度迷你编辑器,不用分页的功能了,一般的回复要用的功能都有,而且回复应该也不会有太多的东西,并且在回复里面加分页非常的难看,还不然用文章列表的解决办法,不过那个官方偷懒了,文章都是一次性加载进来了,只是用js隐藏了一部分,然后用js显示跟隐藏下面的内容,这个如果文章的图片多,那文章列表会很卡的
<?php echo $this->question_info['question_detail']; ?>
//修改后代码
<?php $content = $this->question_info['question_detail']; //获取内容把内容放入content的变量中 $G_cfg = '////';//设置分页符,用这个分页符判断应该这么分页 $arr_content = explode($G_cfg, $content); //按分页符把文章内容切成数组,就是切成几页 $page = @(int)$_GET['page']; // GET传递页码page参数,通过get来决定显示那页 $pamount= sizeof($arr_content);// 所切数组的大小 if($page <= 0) $page = 1; // 当$page不存在时,为首页 if($page > $pamount && $pamount > 0) $page = $pamount; // 当$page大于数组大小值时,为尾页 $q_id = $this->question_info['question_id'];//获取当前问题的ID放入a_id的变量 $content = $arr_content[$page-1]; $strpage = ''; echo $content;//显示当前页面的内容 ?> <br/> <?php if($pamount > 1) { if($pamount > 1) { //循环写入翻页的按钮 for($i=0;$i<$pamount;$i++) { if($i+1 == $page) { $strpage .= '<li class="disabled"><a href="javascript:void(0);">' . ($i+1) . '</a></li>'; } else { $strpage .= '<li class=""><a href="question/' . $q_id . '?page=' . ($i+1) . '" title=" 第' . ($i+1) . '页" target="_self">' . ($i+1) . '</a></li> '; } } $strpage = substr($strpage, 0, strlen($strpage)-3); } ?> <ul class="pagination bootpag"> <li class="prev"><a href="article/<?php echo $a_id; ?>?page=1" title="首页">«</a></li> <?php echo $strpage; ?> <li class="next disabled"><a href="article/<?php echo $a_id; ?>?page=<?php echo $pamount; ?>" title="尾页">»</a></li> </ul> <?php } ?>PS:编辑器回复我不打算做分页了,准备用ajax配合php用字符串截取的方式做了,但是就怕把html代码给分段了,这个到时候在想想有什么其他的解决方法,不然回复内容太多,会受不了的 写这些主要是看各位提了这么多都是这些要求,其实我以前貌似,也许也有提过,不过最近勤动手之后就不再提了,因为这个比较容易的,还是非常好解决的,至于问题页什么的明天在说吧,我先睡觉去了, 附带传送门 修改编辑器为百度编辑器:http://wenda.wecenter.com/question/18664 文章/问题分离操作:http://wenda.wecenter.com/question/18661