织梦cms系统TAG标签和分页伪静态设置教程




织梦cms系统TAG标签和分页伪静态设置教程
现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。
?
今天小编就教大家把标签伪静态 部分资料来源于网络,同时也修复了一些上述提到的BUG。
?
1.修改前台显示链接?
?
我们这里达到的效果就是使原来/tags.php?keywors更改为/tags/keywords。?
?
这里主要修改下调用的标签,在/include/taglib/tag.lib.php中,在87行找到?

$row['link']?=?$cfg_cmsurl."/tags?".urlencode($row['keyword']);?
将其改为:?

$row['link']?=?$cfg_cmsurl."/tags/".urlencode($row['keyword'])."";?
2.修改分页代码部分
?
我们需要修改include/arc.taglist.class.php,找到分页函数,将其替换为:

?/**?
?*?获取动态的分页列表?
?*?
?*?@access?public?
?*?@param?int?$list_len?列表宽度?
?*?@param?string?$listitem?列表样式?
?*?@return?string?
?*/?
?function?GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno")?
?{?
?$prepage="";?
?$nextpage="";?
?$prepagenum?=?$this->PageNo?-?1;?
?$nextpagenum?=?$this->PageNo?+?1;?
?if($list_len?==?""?||?preg_match("/[^0-9]/",?$list_len))?
?{?
?$list_len?=?3;?
?}?
?$totalpage?=?$this->TotalPage;?
?if($totalpage?<=?1?&&?$this->TotalResult?>?0)?
?{?
?return?"<span?class=\"pageinfo\">共1页/".$this->TotalResult."条</span>";?
?}?
?if($this->TotalResult?==?0)?
?{?
?return?"<span?class=\"pageinfo\">共0页/".$this->TotalResult."条</span>";?
?}?
?$maininfo?=?"<span?class=\"pageinfo\">共{$totalpage}页/".$this->TotalResult."条</span>\r\n";?
?$purl?=?$this->GetCurUrl();?
?$basenamebasename?=?basename($purl);?
?$tmpname?=?explode('.',?$basename);?
?
?$purl?=?str_replace($basename,?'',?$purl).urlencode($this->Tag);?
?//var_dump($purl);exit;?
?//$purl?.=?"?/".urlencode($this->Tag);?
?
?//获得上一页和下一页的链接?
?//if($this->PageNo?!=?1)?这是修正上一页为负数的问题?
?????????if($this->PageNo?!=?1?&&?$this->PageNo?!=?"")?
?{?
?$prepage.="<li><a?href='".$purl."-$prepagenum'>上一页</a></li>\r\n";?
?$indexpage="<li><a?href='".$purl."-1'>首页</a></li>\r\n";?
?}?
?else?
?{?
?$indexpage="<li><a>首页</a></li>\r\n";?
?}?
?if($this->PageNo!=$totalpage?&&?$totalpage>1)?
?{?
?$nextpage.="<li><a?href='".$purl."-$nextpagenum'>下一页</a></li>\r\n";?
?$endpage="<li><a?href='".$purl."-$totalpage'>末页</a></li>\r\n";?
?}?
?else?
?{?
?$endpage="<li><a>末页</a></li>\r\n";?
?}?
?
?//获得数字链接?
?$listdd="";?
?$total_list?=?$list_len?*?2?+?1;?
?if($this->PageNo?>=?$total_list)?
?{?
?$j?=?$this->PageNo?-?$list_len;?
?$total_list?=?$this->PageNo?+?$list_len;?
?if($total_list?>?$totalpage)?
?{?
?$total_list?=?$totalpage;?
?}?
?}?
?else?
?{?
?$j=1;?
?if($total_list?>?$totalpage)?
?{?
?$total_list?=?$totalpage;?
?}?
?}?
?for($j;?$j<=$total_list;?$j++)?
?{?
?if($j?==?$this->PageNo)?
?{?
?$listdd.=?"<li?class=\"thisclass\"><a>$j</a></li>\r\n";?
?}?
?else?
?{?
?$listdd.="<li><a?href='".$purl."-$j'>".$j."</a></li>\r\n";?
?}?
?}?
?$plist?=?'';?
?if(preg_match('/info/i',?$listitem))?
?{?
?$plist?.=?$maininfo.'?';?
?}?
?if(preg_match('/index/i',?$listitem))?
?{?
?$plist?.=?$indexpage.'?';?
?}?
?if(preg_match('/pre/i',?$listitem))?
?{?
?$plist?.=?$prepage.'?';?
?}?
?if(preg_match('/pageno/i',?$listitem))?
?{?
?$plist?.=?$listdd.'?';?
?}?
?if(preg_match('/next/i',?$listitem))?
?{?
?$plist?.=?$nextpage.'?';?
?}?
?if(preg_match('/end/i',?$listitem))?
?{?
?$plist?.=?$endpage.'?';?
?}?
?return?$plist;?
?}?
?3.设置伪静态规则?
?
?我们这里以iis7为例子,设置以下规则:?
?
?Copy?to?ClipboardLiehuo.Net?Codes引用的内容:[veryhuo]?
?<?xml?version="1.0"?encoding="UTF-8"?>?
?<configuration>?
?<system.webServer>?
?<rewrite>?
?<rules>?
?<rule?name="weather1"?stopProcessing="true">?
?<match?url="tags/([^-]+)\$"?ignoreCase="true"?/>?
?<conditions?logicalGrouping="MatchAll">?
?<add?input="{REQUEST_FILENAME}"?matchType="IsFile"?negate="true"?/>?
?<add?input="{REQUEST_FILENAME}"?matchType="IsDirectory"?negate="true"?/>?
?</conditions>?
132?
132?<action?type="Rewrite"?url="/tags.php?/{R:1}"?appendQueryString="false"?/>?
?</rule>?
?<rule?name="weather2"?stopProcessing="true">?
?<match?url="tags/([^-]+)-([0-9]+)\$"?ignoreCase="true"?/>?
?<conditions?logicalGrouping="MatchAll">?
?<add?input="{REQUEST_FILENAME}"?matchType="IsFile"?negate="true"?/>?
?<add?input="{REQUEST_FILENAME}"?matchType="IsDirectory"?negate="true"?/>?
?</conditions>?
?<action?type="Rewrite"?url="/tags.php?/{R:1}/{R:2}"?appendQueryString="false"?/>?
?</rule>?
?</rules>?
?</rewrite>?
?</system.webServer>?
?</configuration>?
好了,至此就搞定了。仅供参考学习哦~
?


上一篇:DedeCMS 核心类TypeLink.class.php摘要笔记

下一篇:织梦cms列表页/内容页调用当前文档作者的会员头像的方法


Copyright © 2002-2019 测速网 https://www.inhv.cn/ 皖ICP备2023010105号 城市 地区 街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!
热门搜索