服务器之家:专注于服务器技术及软件下载分享
分类导航

DEDECMS|帝国CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|

服务器之家 - 建站程序 - DEDECMS - dedecms 分页标题提取方法

dedecms 分页标题提取方法

2019-07-26 10:13织梦教程网 DEDECMS

dedecms中不能单独获取页面的分页标题。比如一篇文章有10页。那么这是10页的标题完全一样。个人觉得不利于SEO。如果能够每页的标题都不一样。估计搜索引擎会更喜欢。我的网站的内容全是很多页的。所以急切需求这个功能

由于不懂php。没学过编程。什么asp java html这些我啥都不懂。在论坛上找人帮忙。没人鸟我。说要更改数据结构等。听起来好像很复杂。反正我也听不懂。

  求人不如求己,dede有一个分页标题导航的功能能不能在这个上边改一下呢?首先找到输出页面的文件include/inc_archives_view.php.用记事本打开。发现里边有注释。

 

复制代码
代码如下:

//-------------------------
//获得静态页面小标题
//-------------------------</p> <p>终于明白为什么要有注释了。原来是给我这样的人看的。
看到代码 
复制内容到剪贴板 
代码:
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 .= "<a href='".$this->NameFirst.".".$this->ShortName."'>$v</a> \r\n";
else{
if($pageNo==$i) $revalue .= " $v \r\n";
else $revalue .= "<a href='".$this->NameFirst."_".$i.".".$this->ShortName."'>$v</a> \r\n";
}
$i++;
}
}else
{
$revalue = "<select id='dedepagetitles' onchange='location.href=this.options[this.selectedIndex].value;'>\r\n";
foreach($this->SplitTitles as $k=>$v){
if($i==1) $revalue .= "<option value='".$this->NameFirst.".".$this->ShortName."'>{$i}、{$v}</option>\r\n";
else{
if($pageNo==$i) $revalue .= "<option value='".$this->NameFirst."_".$i.".".$this->ShortName."' selected>{$i}、{$v}</option>\r\n";</p> <p> else $revalue .= "<option value='".$this->NameFirst."_".$i.".".$this->ShortName."'>{$i}、{$v}</option>\r\n";
}
$i++;
}
$revalue .= "</select>\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函数

dedecms 分页标题提取方法

模版里面调用方法 

首先保存 文章标题 

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

发布文章时候的格式是如下的

dedecms 分页标题提取方法

延伸 · 阅读

精彩推荐