一、什么是分页导航?
  当新闻内容较长时,如果将其全部展示在单个页面上,可能会让访问者感到阅读疲劳。因此,对一篇新闻进行合理的分页处理是一种较好的解决方案。
  所谓分页导航,是指为每一页设置一个合适的小标题并显示出来,类似于图书目录的功能。

二、如何使用分页导航?
  1、对新闻内容的要求:为了实现分页导航功能,需要在新闻的适当位置插入 标签。

  对于无需分页标题而仅简单分页的情况,可以这样写:


和高层有过密切接触的伍新木后来得知,国家发改委一主要领导评价以此为主题的申报材料,武汉“申新”主题概念模糊,频频更换核心思想,可谓用心良苦,但还需从国家高度、全局考虑。这位官员还特别强调,“武汉申报不可太着急,肯定要批的。” 
  
  在第三轮国家综合配套改革试点申请中,一直不见声色的武汉这次高调起来。另外,连续经历过四次“申新”失利,尤其邻市“成渝综改区”获批和“中部办”成立之后,武汉开始变得更加着急。
    

对于带有分页标题的情况,可以这样写:


和高层有过密切接触的伍新木后来得知,国家发改委一主要领导评价以此为主题的申报材料,武汉“申新”主题概念模糊,频频更换核心思想,可谓用心良苦,但还需从国家高度、全局考虑。这位官员还特别强调,“武汉申报不可太着急,肯定要批的。” 
  武汉着急了/
  在第三轮国家综合配套改革试点申请中,一直不见声色的武汉这次高调起来。另外,连续经历过四次“申新”失利,尤其邻市“成渝综改区”获批和“中部办”成立之后,武汉开始变得更加着急。
    

2、对模板的要求:需要在模板的适当位置使用

三、改进分页导航
  找到 e/class/t_functions.php 文件中的第 150 行左右,定位到 function sys_ShowTextPage 函数,根据需求用以下代码替换掉官方代码,重新生成后即可看到效果。

沿用官方的下拉列表,同时在标题前加上“第×页”,并在下拉列表外添加“文章导航”字样。


function sys_ShowTextPage($thispagenum,$dolink,$add,$filetype,$n_r){
        global $fun_r;
        if($thispagenum==1)
        {
                return "";
        }
        $page="";
        for($j=1;$j<=$thispagenum;$j++)
        {
                $k=$j-1;
            if($j==1)
                {
                $page.="".$j." ";
                        $title=$add[title];
                        $plink=$add[filename].$filetype;
                }
                else
                {
                        $page.="".$j." ";
                        $plink=$add[filename]."_".$j.$filetype;
                        $ti_r=explode("[/!--empirenews.page--]",$n_r[$k]);
                    if(count($ti_r)>=2&&$ti_r[0])
                        {$title=$ti_r[0];}
                    else
                        {$title=$add[title]."(".$j.")";}
                }
                $titleselect.="";
        }
        $return_r['titleselect']="文章导航:";
        //去掉最后一个 
        $return_r['page']="[prepage]".substr($page,0,strlen($page)-6)."[nextpage]";
        return $return_r;
}
    

不使用下拉列表,而是平铺导航标题,并在标题前加上“第×页”,同时在导航前添加“文章导航”字样。


function sys_ShowTextPage($thispagenum,$dolink,$add,$filetype,$n_r){
        global $fun_r;
        if($thispagenum==1)
        {
                return "";
        }
        $page="";
        for($j=1;$j<=$thispagenum;$j++)
        {
                $k=$j-1;
            if($j==1)
                {
                $page.="".$j." ";
                        $title=$add[title];
                        $plink=$add[filename].$filetype;
                }
                else
                {
                        $page.="".$j." ";
                        $plink=$add[filename]."_".$j.$filetype;
                        $ti_r=explode("[/!--empirenews.page--]",$n_r[$k]);
                    if(count($ti_r)>=2&&$ti_r[0])
                        {$title=$ti_r[0];}
                    else
                        {$title=$add[title]."(".$j.")";}
                }
                $titleselect.="·"."第".$j."页:".$title."
"; } $return_r['titleselect']="文章导航:
".$titleselect; //去掉最后一个  $return_r['page']="[prepage]".substr($page,0,strlen($page)-6)."[nextpage]"; return $return_r; }

四、是否可以在模板中直接写入“文章导航”四个字?
  可以,但如果新闻只有一页且未使用导航标签,则生成的页面仍会显示这四个字。

五、如何在同一新闻内实现两种导航方式?
  希望达到的效果是,在正文上方显示平铺式导航,而在正文下方显示下拉列表式导航。这样的设计能提升用户体验。虽然尝试通过标签配合自定义函数实现这一目标,但尚未成功,期待高手指点。