首页 > CMS > 帝国Empire > 正文

帝国cms对分页导航标签的改良

2024-08-28 12:20:23
字体:
来源:转载
供稿:网友

一、什么是分页导航?
  新闻内容很长,拉太长的话访客可能会感觉阅读起来比较累,对一篇新闻适应的分页是比较好的办法。
  所谓分页导航是对每一页起个合适的小标题并显示,有点像图书目录的作用。

二、如何使用分页导航?
  1、对新闻内容的要求:为了能够使用分页导航,需要在新闻合适的位置使用!--empirenews.page--标签。

  对于不用分页标题而只是简单分页的情况,可以这样写:

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


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


  2、对模板的要求:需要在模板的适当位置使用!--title.select--]

三、改进分页导航?
  找到e/class/t_functions.php,150行左右,function sys_ShowTextPage,根据需要用以下代码替换掉官方的代码,重新生成即可看到效果。

沿用官方的下拉列表,另外在标题前加上“第×页”,并且在下拉列表外面写上“文章导航”字样,见图1。
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;}



不用下拉列表,导航标题平铺,标题前加上“第×页”,并且在导航前面写上“文章导航”字样,见图2。

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;}



另附官方原版代码,见图3。

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;}



四、可以将“文章导航”四个字写在模板里吗?
  可以,但是,如果新闻只有一页,没有用到导航标签的话,那么生成的页面依然有这四个字。

五、更上层楼,同一新闻内既有下拉式导航,又有平铺式导航该怎么做?
  希望达到的效果是,在正文上方出现平铺式的导航,在正文下方出现一个下拉列表式的导航,这样的用户体验更加完美,本来想试着用标签配合自定义函数搞出来的,但是没成功,哪位高人如果能指点一下不胜感激。



上传以下图片:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表