dedecms 分页标题提取方法
发布时间:2018-02-13
由于不懂php。没学过编程。什么asp java html这些我啥都不懂。在论坛上找人帮忙。没人鸟我。说要更改数据结构等。听起来好像很复杂。反正我也听不懂。   求人不如求己,dede有一个分页标题导航的功能能不能在这个上边改一下呢?首先找到输出页面的文件include/inc_archives_view.php.用记事本打开。发现里边有注释。 复制代码代码如下: //------------------------- //获得静态页面小标题 //------------------------- 终于明白为什么要有注释了。原来是给我这样的人看的。 看到代码 复制内容到剪贴板 代码: function GetPageTitlesST($styleName,$pageNo) { if($this->TotalPage==1){ return ""; } if(count($this->SplitTitles)==0){ return ""; } $i=1; if($styleName=='link') { $revalue = ""; foreach($this->SplitTitles as $k=>$v){ if($i==1) $revalue .= "NameFirst.".".$this->ShortName.">$v \r\n"; else{ if($pageNo==$i) $revalue .= " $v \r\n"; else $revalue .= "NameFirst."_".$i.".".$this->ShortName.">$v \r\n"; } $i++; } }else { $revalue = "\r\n"; foreach($this->SplitTitles as $k=>$v){ if($i==1) $revalue .= "NameFirst.".".$this->ShortName."'>{$i}、{$v}\r\n"; else{ if($pageNo==$i) $revalue .= "NameFirst."_".$i.".".$this->ShortName."' selected>{$i}、{$v}\r\n"; else $revalue .= "NameFirst."_".$i.".".$this->ShortName."'>{$i}、{$v}\r\n"; } $i++; } $revalue .= "\r\n"; } return $revalue; } 我不懂编程。还是看出了一点端倪。好像是如果if($styleName=='link') styename="link"就怎么怎么的。后边就是输出的一个代码。我就把这个代码改了下。改得不好。大家原谅。   我增加了一段如果的代码.把风格名字改为biaoti.如果风格是标题。则怎么怎么的意思 复制代码代码如下: else if($styleName=='biaoti') { $revalue = ""; foreach($this->SplitTitles as $k=>$v){ if($i==1) $revalue .= ""; else{ if($pageNo==$i) $revalue .= "$v"; else $revalue .= ""; } $i++; } } 这样就行了。试一试。在需要输出分页标题的模板上加上{dede:pagetitle style='biaoti'/} 就OK了。 补充: 提取每个分页标题到模版里面 修改includes\arc.archives.class.php 的 GetPageTitlesST函数



模版里面调用方法 首先保存 文章标题 {dede:field.title runphp=’yes’}$GLOBALS<"phpsir">=@me;@me=”";{/dede:field.title} 调用方法是 pagetitle style=’biaoti’ , 同时把原来文章标题附着在后面….. {dede:pagetitle style=’biaoti’ runphp=”yes”}if(@me==” ) {@me = $GLOBALS<"phpsir">; }else { @me = @me . “_” . $GLOBALS<"phpsir"> ;} {/dede:pagetitle} 发布文章时候的格式是如下的



文章来源
更多文章 进入论坛 我要发帖