首页 » 二次开源 » dedecms建站 » 正文

dedecms文章内容设置分页后怎么调取副标题



像dede默认的输出我们会发现是不能输出我们所设定的副标题,所以我们需要修改一下程序文件。
打开./include/arc.archives.class.php 打开,找到大概第411行代码:
if($i>1) $this->Fields[‘title’] = $this->Fields[‘tmptitle’].”($i)”; 在这行代码前面添加’//’注释掉,再在下面添加以下代码:
if($i>1)
{
$subtitle = $this->SplitTitles;
$this->Fields[‘title’] = $subtitle[$i-1];
}

注:$this->SplitTitles 返回文章所有副标题数组

假如在其它地方也需要调用分页后的不同文章标题,比如meta title,我们也可以用标签调用,实现方法如下:
打开./include/arc.archives.class.php 文件,找到大概第1099行的GetPageTitlesST方法开始,
先注释掉第1102到1105的代码,if($this->TotalPage==3)的这个判断,
然后在下面1134行添加else if判断分支,代码:
else if($styleName==’subtoptitle’)
{
$revalue = ”;
if($pageNo==1)
{
$revalue.=$this->Fields[‘title’];
}
else
{
foreach($this->SplitTitles as $k=>$v)
{
if($pageNo==$k+1)
{
$v = strip_tags($v); // 去除可视化编辑时添加的p等标签
$v = str_replace(‘#’,”,”$v”);
$revalue .= $v;
}
else
{
$revalue.=”;
}
}
}
}

模板调用标签:{dede:pagetitle style=’subtoptitle’/}
注:$this->SplitTitles 返回文章所有副标题数组