找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 143|回复: 0

[cms教程] 织梦一个标签获取当前链接地址url支持动态、静态、伪静态输出当前链接url

[复制链接]

该用户从未签到

发表于 2021-2-10 16:45:38 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
织梦获取当前链接url网上有很多教程,但是要么只支持动态下正常使用,要么只支持内容页使用
         
        一个标签,可用于任意模板下使用
         
        支持动态/静态/伪静态 输出当前url
         
        支持首页/列表页/列表分页/内容页/内容页分页
         
         
         
        实现教程
         
        1、获取内容页当前Url 或者 内容页分页Url
         
        打开 /include/arc.archives.class.php 找到
         
        $this->NowPage = $pageNo;
         
        在它上面加入
         
        $ArcArr = GetOneArchive($this->ArcID);
         
        $arcurl = $ArcArr['arcurl',;
         
         
         
        继续找到
         
        $this->Fields[$this->SplitPageField, = $this->SplitFields[$pageNo - 1,;
         
        在它上面加入
         
        if($ismake==1)
         
        {
         
        if($pageNo>1)
         
        {
         
        $pagebreak = str_replace($this->NameFirst, $this->NameFirst."_".$pageNo, $arcurl);
         
        }
         
        }
         
        else
         
        {
         
        if($pageNo>1) $pagebreak = "&pageno=".$pageNo;
         
        if($cfg_rewrite == 'Y')
         
        {
         
        $pagebreak = str_replace(".php?aid=", "-", $arcurl);
         
        $pagebreak =  preg_replace("#&pageno=(d+)#i", '-.html', $pagebreak);
         
        }
         
        $pagebreak = $arcurl.$pagebreak;
         
        }
         
        2、获取列表页当前Url 或者 列表页分页Url
         
        打开 /include/arc.listview.class.php 找到
         
        //替换第二页后的内容
         
        在它上面加入
         
        $this->Fields['itemcururl', = $this->GetItemsCurUrl($PageNo);
         
         
         
        继续找到
         
        function GetCurUrl()
         
        在它上面加入
         
        function GetItemsCurUrl($PageNo)
         
        {
         
        global $cfg_basehost;
         
        if($this->TypeLink->TypeInfos['isdefault',==-1)
         
        {
         
        $purl = $this->GetCurUrl();
         
        if($cfg_rewrite == 'Y')
         
        {
         
        $nowurls = preg_replace("/-/", ".php?", $purl);
         
        $nowurls = explode("?", $nowurls);
         
        $purl = $nowurls[0];
         
        }
         
        if($PageNo==1)
         
        {
         
        $geturl = "tid=".$this->TypeID;
         
        $purl .= '?'.$geturl;
         
        }
         
        else
         
        {
         
        $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
         
        $purl .= '?'.$geturl."PageNo=".$PageNo;
         
        }
         
        }
         
        else
         
        {
         
        $tnamerule = $this->GetMakeFileRule($this->Fields['id',,"list",$this->Fields['typedir',,$this->Fields['defaultname',,$this->Fields['namerule2',);
         
        $tnamerule = preg_replace("/^(.*)//", '', $tnamerule);
         
        $cfg_basehost = preg_replace('#/$#','',$cfg_basehost);
         
        $tnamerule = MfTypedir($this->Fields['typedir',).'/'.$tnamerule;
         
        if($PageNo==1)
         
        {
         
        $purl = MfTypedir($this->Fields['typedir',).'/';
         
        }
         
        else
         
        {
         
        $purl = str_replace("{page}",$PageNo,$tnamerule);
         
        }
         
        }
         
        return $purl;
         
        }
         
         
         
        还需要打开 /include/arc.partview.class.php 找到
         
        $this->Fields['title', = $this->TypeLink->GetPositionLink(false);
         
        在它下面加入
         
        $this->Fields['itemcururl', = $this->TypeLink->GetOneTypeUrl($this->TypeLink->TypeInfos);
         
        前台模板标签调用
         
        {dede:field.itemcururl runphp=yes}global $cfg_basehost;@me = (@me == '' ? "{$cfg_basehost}" : "{$cfg_basehost}@me");{/dede:field.itemcururl}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-24 23:40

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表