述明 發表於 2023-11-20 00:00:00

dedecms 分页标题提取方法

<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        由于不懂php。没学过编程。什么asp java html这些我啥都不懂。在论坛上找人帮忙。没人鸟我。说要更改数据结构等。听起来好像很复杂。反正我也听不懂。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
          求人不如求己,dede有一个分页标题导航的功能能不能在这个上边改一下呢?首先找到输出页面的文件include/inc_archives_view.php.用记事本打开。发现里边有注释。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
        <div class="right">
                <span><u>复制代码</u></span>
</div>
        代码如下:</div>
<div class="msgborder" id="phpcode2" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
        <br>
        //-------------------------<br>
        //获得静态页面小标题<br>
        //-------------------------&lt;/p&gt; &lt;p&gt;终于明白为什么要有注释了。原来是给我这样的人看的。<br>
        看到代码 <br>
        复制内容到剪贴板 <br>
        代码:<br>
        function GetPageTitlesST($styleName,$pageNo)<br>
        {<br>
        if($this-&gt;TotalPage==1){ return ""; }<br>
        if(count($this-&gt;SplitTitles)==0){ return ""; }<br>
        $i=1;<br>
        if($styleName=='link')<br>
        {<br>
        $revalue = "";<br>
        foreach($this-&gt;SplitTitles as $k=&gt;$v){<br>
        if($i==1) $revalue .= "&lt;a href='".$this-&gt;NameFirst.".".$this-&gt;ShortName."'&gt;$v&lt;/a&gt; \r\n";<br>
        else{<br>
        if($pageNo==$i) $revalue .= " $v \r\n";<br>
        else $revalue .= "&lt;a href='".$this-&gt;NameFirst."_".$i.".".$this-&gt;ShortName."'&gt;$v&lt;/a&gt; \r\n";<br>
        }<br>
        $i++;<br>
        }<br>
        }else<br>
        {<br>
        $revalue = "&lt;select id='dedepagetitles' onchange='location.href=this.options.value;'&gt;\r\n";<br>
        foreach($this-&gt;SplitTitles as $k=&gt;$v){<br>
        if($i==1) $revalue .= "&lt;option value='".$this-&gt;NameFirst.".".$this-&gt;ShortName."'&gt;{$i}、{$v}&lt;/option&gt;\r\n";<br>
        else{<br>
        if($pageNo==$i) $revalue .= "&lt;option value='".$this-&gt;NameFirst."_".$i.".".$this-&gt;ShortName."' selected&gt;{$i}、{$v}&lt;/option&gt;\r\n";&lt;/p&gt; &lt;p&gt; else $revalue .= "&lt;option value='".$this-&gt;NameFirst."_".$i.".".$this-&gt;ShortName."'&gt;{$i}、{$v}&lt;/option&gt;\r\n";<br>
        }<br>
        $i++;<br>
        }<br>
        $revalue .= "&lt;/select&gt;\r\n";<br>
        }<br>
        return $revalue;<br>
        }</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        我不懂编程。还是看出了一点端倪。好像是如果if($styleName=='link') styename="link"就怎么怎么的。后边就是输出的一个代码。我就把这个代码改了下。改得不好。大家原谅。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
          我增加了一段如果的代码.把风格名字改为biaoti.如果风格是标题。则怎么怎么的意思</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
        <div class="right">
                <span><u>复制代码</u></span>
</div>
        代码如下:</div>
<div class="msgborder" id="phpcode3" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
        <br>
        else<br>
        if($styleName=='biaoti')<br>
        {<br>
        $revalue = "";<br>
        foreach($this-&gt;SplitTitles as $k=&gt;$v){<br>
        if($i==1) $revalue .= "";<br>
        else{<br>
        if($pageNo==$i) $revalue .= "$v";<br>
        else $revalue .= "";<br>
        }<br>
        $i++;<br>
        }<br>
        }</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
         </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        这样就行了。试一试。在需要输出分页标题的模板上加上{dede:pagetitle style='biaoti'/} 就OK了。<br><br>
        补充:<br><br>
        提取每个分页标题到模版里面 <br><br>
        修改includes\arc.archives.class.php 的 GetPageTitlesST函数<br><br><img style="max-width:100%!important;height:auto!important;"title="dedecms 分页标题提取方法" alt="dedecms 分页标题提取方法" src="https://zhuji.jb51.net/uploads/img/202305/b65f0b3398ddde522270e728093745f0.jpg"><br><br>
        模版里面调用方法 <br><br>
        首先保存 文章标题 <br><br>
        {dede:field.title runphp=’yes’}$GLOBALS["phpsir"]=@me;@me=”";{/dede:field.title} <br><br>
        调用方法是 pagetitle style=’biaoti’ , 同时把原来文章标题附着在后面….. <br><br>
        {dede:pagetitle style=’biaoti’ runphp=”yes”}if(@me==” ) {@me = $GLOBALS["phpsir"]; }else { @me = @me . “_” . $GLOBALS["phpsir"] ;} {/dede:pagetitle} <br><br>
        发布文章时候的格式是如下的<br><br><img style="max-width:100%!important;height:auto!important;"title="dedecms 分页标题提取方法" alt="dedecms 分页标题提取方法" src="https://zhuji.jb51.net/uploads/img/202305/b0fd80381a0715693d0e52dcd013f0a2.jpg"></p>
頁: [1]
查看完整版本: dedecms 分页标题提取方法