web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

dedecms系统TAG标签和分页伪静态设置教程

318 ℃
     

现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为“-1”的问题,还有出现“系统无此标签,可能已经移除”的问题。那接下来我们来解决一下这个问题。

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,找到分页函数,将其替换为:

* 获取动态的分页列表

* @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();

$basename = 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'.html>上一页</a></li>/r/n";

$indexpage="<li><a href='".$purl."-1.html'>首页</a></li>/r/n";

}

else

{

$indexpage="<li><a>首页</a></li>/r/n";

}

if($this->PageNo!=$totalpage && $totalpage>1)

{

$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>/r/n";

$endpage="<li><a href='".$purl."-$totalpage.html'>末页</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.html'>".$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为例子,设置以下规则:

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="weather1" stopProcessing="true">

<match url="tags/([^-]+)/.html$" 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}" appendQueryString="false" />

</rule>

<rule name="weather2" stopProcessing="true">

<match url="tags/([^-]+)-([0-9]+)/.html$" 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列表页面显示当前文章的tag标签

wordpress获取Tag标签不带超链接

wordpress根据指定tag标签读取最新文章

wordpress根据指定tag标签获取文章的数量

wordpress如何利用Windows+IIS配置伪静态方法

标签: tag标签, 伪静态, 首页tag

上面是“dedecms系统TAG标签和分页伪静态设置教程”的全面内容,想了解更多关于 织梦cms 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_620.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > 织梦cms
本文共计3595个字,预计阅读时长24分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一个免费可商用psd文件素材网站——FreePik
下一篇: 一行代码轻松实现优雅的过渡动画插件——AutoAnimate
x 打工人ai神器