程序员人生 网站导航

dedecms:如何获取分页标题

栏目:DedeCMS时间:2013-11-30 03:51:22

  建站学院(LieHuo.Net)讯 dedecms中不能单独获取页面的分页标题。比如一篇文章有10页。那么这是10页的标题完全一样。个人觉得不利于SEO。如果能够每页的标题都不一样。估计搜索引擎会更喜欢。我的网站的内容全是很多页的。所以急切需求这个功能。由于不懂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 .= "<a href='".$this->NameFirst.".".$this->ShortName."'>$v</a> ";
                     else{
                               if($pageNo==$i) $revalue .= " $v ";
                        else  $revalue .= "<a href='".$this->NameFirst."_".$i.".".$this->ShortName."'>$v</a> ";
                     }
                     $i++;
                  }
          }else
          {
                  $revalue = "<select id='dedepagetitles' onchange='location.href=this.options[this.selectedIndex].value;'>";
                        foreach($this->SplitTitles as $k=>$v){
                           if($i==1) $revalue .= "<option value='".$this->NameFirst.".".$this->ShortName."'>{$i}、{$v}</option>";
                     else{
                               if($pageNo==$i) $revalue .= "<option value='".$this->NameFirst."_".$i.".".$this->ShortName."' selected>{$i}、{$v}</option>";

                               else $revalue .= "<option value='".$this->NameFirst."_".$i.".".$this->ShortName."'>{$i}、{$v}</option>";
                     }
                     $i++;
                  }
                  $revalue .= "</select>";
          }
                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了。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐