帝国CMS中文章分页如何实现分页标题导航?

时间:2014-07-20 13:11:25  来源:网络  作者:

问:我的网站是使用的帝国CMS做的,我现在想实现的是文章内容页分页后在文章前面或者文章后面加一个分页导航,即如:
本文导航:
第1页:第一页的标题
第2页:第二页的子标题
类似PHPcms中这样的内容页分页标题导航:
帝国CMS中文章分页如何实现分页标题导航?
帝国CMS自带的标签可以实现,但是他是下拉式的跳转菜单,不是文本链接SEO效果可能不太好,请问下,调用帝国CMS什么标签可以实现呢?或者告诉我如何修改实现,谢谢!

答:我刚看了下,要实现内容页分页标题导航,貌似自带的标签只有通过 实现的,我仿照这个标签的实现原理,增加了一个[!--title.pagetitles--]分页标题导航标签 实现了你的需求,不过需要修改/e/class/目录下的functions.php文件和t_functions.php文件。(版本帝国 CMSv6.5版)
截图如下:
帝国CMS中文章分页如何实现分页标题导航?

下面是详细的实现帝国CMS文章分页标题导航的修改方法:
第一步:在t_functions.php中的第241行后面添加如下代码:(该函数用于提取文章中的分页标题并生成链接)

//返回内容分页标题导航
function sys_ShowTextPageTitles($thispagenum,$dolink,$add,$filetype,$n_r){
if($thispagenum==1)
{
return '';
}
$pagetitles='';
for($j=1;$j<=$thispagenum;$j++)
{
   if($j==1)
{
$title=$add[title];
$plink=$add[filename].$filetype;
}
else
{
$k=$j-1;
$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.')';
}
$plink=$add[filename].'_'.$j.$filetype;
}
$pagetitles.='<li>第'.$j.'页:<a href="'.$dolink.$plink.'" id="'.$j.'">'.$title.'</a></li>';
}
return $pagetitles;
}
第二步:在functions.php文件的第2293行左右查找如下代码:
for($j=1;$j<=$thispagenum;$j++)

在其前面一行添加如下代码:

//分页标题导航-落叶添加
if(strstr($newstemptext,'[!--title.pagetitles--]'))
{
$pagetitles=sys_ShowTextPageTitles($thispagenum,$dolink,$add,$filetype,$n_r);
//echo $pagetitles;exit;
}

第三步:在functions.php文件中的第2229行左右查找如下代码:
$titleselect=str_replace("?".$j."">","?".$j."" selected>",$dotitleselect);

在其后面一行添加如下代码:

$pagetitles=str_replace('class="page_current"','',$pagetitles);
$pagetitles=str_replace('id="'.$j.'"','id="'.$j.'" class="page_current"',$pagetitles);//落叶添加

第四步:在functions.php文件中的第2362行左右查找如下代码:
$string=str_replace('',$titleselect,$string);

在其后添加如下代码:
$string=str_replace('[!--title.pagetitles--]',$pagetitles,$string);//站长知道-落叶添加

然后即可在内容页模板中使用[!--title.pagetitles--]标签调用文章分页导航,并在style.css文件中添加当前页标题css,如.page_current{color:#CC3300;}。

上面修改,适用于内容页生成静态的,不生成静态的,在e/action/ShowInfo.php文件中修改,这时不多说,估计不生成静态的人比较少

4月12号补充:对于帝国11号发布的帝国CMS6.6版依然适用
如果你的帝国CMS的文件没有自己改动过,可以直接使用下面改好的文件替换,注意备份原来的functions.php和t_functions.php文件:
http://www.mjjer.com/zhidao/uploadfile/ly_upload/v6.5.rar
http://www.mjjer.com/zhidao/uploadfile/ly_upload/v6.6.rar


顶一下
返回首页
回首页
收藏
收藏

参与评论(条)

注: 网友评论仅供表达个人看法,并不表达本站同意其观点或证实其描述