ClassCMS

文章内容分页

通过kindeditor编辑器内的分页按钮实现内容分页显示(第二行倒数第五个按钮)

如使用其他编辑器,没有分页按钮功能的,可以手动插入分页字符实现分页(方法内的代码需换成新的分页字符)

配置

文章模型内将文章页的方法名改为articleContent,模板文件留空

新增一个页面,网址为 /($.id)/($id)_(page).html 标识为articlepage 方法名articleContent

方法代码

以下代码放入应用主文件内


    function articleContent($channel,$article){
        if(isset($_GET['page']) && $_GET['page']=='1'){
            return false;
        }
        if(!isset($_GET['page'])){
            $page=1;
        }else{
            $page=intval($_GET['page']);
        }
        $contents=explode('<hr style="page-break-after:always;" class="ke-pagebreak" />',$article['content']);
        if(!isset($contents[$page-1])){
            return false;
        }
        $article['content']=$contents[$page-1];
        $article['pagelist']=array();
        foreach ($contents as $key=>$content) {
            if($key){
                $link=C('cms:channel:url',$channel,'articlepage',$article,array('page'=>$key+1));
            }else{
                $link=$article['link'];
            }
            if($page==($key+1)){
                $class='on';
            }else{
                $class='';
            }
            $article['pagelist'][]=array('title'=>$key+1,'link'=>$link,'class'=>$class);
        }
        return V('article_content',$article);//文章页模板文件名
    }

分页列表代码

以下代码放入文章页模板文件内

{loop $pagelist as $page}
<a href="{$page.link}" class="{$page.class}">{$page.title}</a>
{/loop}