首页  »  站长资讯  »  网站优化

dedecms织梦Tag标签伪静态设置方法

2023/03/11 12:23     创新屋收录网     已浏览351次
开发方法

1、修改一下tag链接形式的伪静态化,打开/include/taglibtag.lib.php中,找到

$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);

将其改为:

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";

2、分页链接形式伪静态化修改,打开/include/arc.taglist.class.php,将其分页函数替换为以下代码(整个函数替换,做好备份):   

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 "共1页/".$this->TotalResult."条";

    }

    if($this->TotalResult == 0)

    {

        return "共0页/".$this->TotalResult."条";

    }

    $maininfo = "共{$totalpage}页/".$this->TotalResult."条rn";

    $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)

    {

        $prepage.="
  • 上一页
  • rn";

            $indexpage="
  • 首页
  • rn";

        }

        else

        {

            $indexpage="
  • 首页
  • rn";

        }

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

        {

            $nextpage.="
  • 下一页
  • rn";

            $endpage="
  • 末页
  • rn";

        }

        else

        {

            $endpage="
  • 末页
  • rn";

        }

        //获得数字链接

        $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.= "
  • $j
  • rn";

            }

            else

            {

                $listdd.="
  • ".$j."
  • rn";

            }

        }

        $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、伪静态规则(整个根据服务器不一样,选择不同的规则,这里提供web.config的规则)