现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。
今天dede58.com小编就教大家把标签伪静态(部分资料来源于网络),同时也修复了一些上述提到的BUG。
1.修改前台显示链接
我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords.html。
这里主要修改下调用的标签,在/include/taglib/tag.lib.php中,在87行找到
$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);
将其改为:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
2.修改分页代码部分
我们需要修改include/arc.taglist.class.php,找到分页函数,将其替换为:
001 | Copy to ClipboardLiehuo.Net Codes引用的内容:[www.dede58.com] |
006 | * @param int $list_len 列表宽度 |
007 | * @param string $listitem 列表样式 |
010 | function GetPageListDM($list_len,$listitem= "info,index,end,pre,next,pageno" ) |
014 | $prepagenum = $this->PageNo - 1; |
015 | $nextpagenum = $this->PageNo + 1; |
016 | if ($list_len == "" || preg_match( "/[^0-9]/" , $list_len)) |
020 | $totalpage = $this->TotalPage; |
021 | if ($totalpage <= 1 && $this->TotalResult > 0) |
023 | return "<span class=\"pageinfo\">共1页/" .$this->TotalResult. "条</span>" ; |
025 | if ($this->TotalResult == 0) |
027 | return "<span class=\"pageinfo\">共0页/" .$this->TotalResult. "条</span>" ; |
029 | $maininfo = "<span class=\"pageinfo\">共{$totalpage}页/" .$this->TotalResult. "条</span>\r\n" ; |
030 | $purl = $this->GetCurUrl(); |
031 | $ basename = basename ($purl); |
032 | $tmpname = explode( '.' , $ basename ); |
034 | $purl = str_replace($ basename , '' , $purl).urlencode($this->Tag); |
035 | //var_dump($purl); exit ; |
036 | //$purl .= "?/" .urlencode($this->Tag); |
039 | // if ($this->PageNo != 1) 这是修正上一页为负数的问题 |
040 |
if ($this->PageNo != 1 && $this->PageNo != "" ) |
042 | $prepage.= "<li><a href='" .$purl. "-$prepagenum'.html>上一页</a></li>\r\n" ; |
043 | $indexpage= "<li><a href='" .$purl. "-1.html'>首页</a></li>\r\n" ; |
047 | $indexpage= "<li><a>首页</a></li>\r\n" ; |
049 | if ($this->PageNo!=$totalpage && $totalpage>1) |
051 | $nextpage.= "<li><a href='" .$purl. "-$nextpagenum.html'>下一页</a></li>\r\n" ; |
052 | $endpage= "<li><a href='" .$purl. "-$totalpage.html'>末页</a></li>\r\n" ; |
056 | $endpage= "<li><a>末页</a></li>\r\n" ; |
061 | $total_list = $list_len * 2 + 1; |
062 | if ($this->PageNo >= $total_list) |
064 | $j = $this->PageNo - $list_len; |
065 | $total_list = $this->PageNo + $list_len; |
066 | if ($total_list > $totalpage) |
068 | $total_list = $totalpage; |
074 | if ($total_list > $totalpage) |
076 | $total_list = $totalpage; |
079 | for ($j; $j<=$total_list; $j++) |
081 | if ($j == $this->PageNo) |
083 | $listdd.= "<li class=\"thisclass\"><a>$j</a></li>\r\n" ; |
087 | $listdd.= "<li><a href='" .$purl. "-$j.html'>" .$j. "</a></li>\r\n" ; |
091 | if (preg_match( '/info/i' , $listitem)) |
093 | $plist .= $maininfo. ' ' ; |
095 | if (preg_match( '/index/i' , $listitem)) |
097 | $plist .= $indexpage. ' ' ; |
099 | if (preg_match( '/pre/i' , $listitem)) |
101 | $plist .= $prepage. ' ' ; |
103 | if (preg_match( '/pageno/i' , $listitem)) |
105 | $plist .= $listdd. ' ' ; |
107 | if (preg_match( '/next/i' , $listitem)) |
109 | $plist .= $nextpage. ' ' ; |
111 | if (preg_match( '/end/i' , $listitem)) |
113 | $plist .= $endpage. ' ' ; |
121 | Copy to ClipboardLiehuo.Net Codes引用的内容:[www.dede58.com] |
122 | <?xml version= "1.0" encoding= "UTF-8" ?> |
127 | <rule name= "weather1" stopProcessing= "true" > |
128 | <match url= "tags/([^-]+)\.html$" ignoreCase= "true" /> |
129 | <conditions logicalGrouping= "MatchAll" > |
130 | <add input= "{REQUEST_FILENAME}" matchType= "IsFile" negate= "true" /> |
131 | <add input= "{REQUEST_FILENAME}" matchType= "IsDirectory" negate= "true" /> |
133 | <action type = "Rewrite" url= "/tags.php?/{R:1}" appendQueryString= "false" /> |
135 | <rule name= "weather2" stopProcessing= "true" > |
136 | <match url= "tags/([^-]+)-([0-9]+)\.html$" ignoreCase= "true" /> |
137 | <conditions logicalGrouping= "MatchAll" > |
138 | <add input= "{REQUEST_FILENAME}" matchType= "IsFile" negate= "true" /> |
139 | <add input= "{REQUEST_FILENAME}" matchType= "IsDirectory" negate= "true" /> |
141 | <action type = "Rewrite" url= "/tags.php?/{R:1}/{R:2}" appendQueryString= "false" /> |
|
好了,至此就搞定了。如果您还有什么问题,请与最火软件站联系。
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法下载,联系站长索要。
如有侵犯您的版权,请给我们来信:admin@cniao8.com,我们尽快处理。