织梦列表页获取当前链接和当前分页链接


兼容静态 动态 伪静态

支持第一页直接是栏目链接,第二页,第三页。。。。按当前分页

支持在开启绝对路径和没开启绝对路径不同输出

 

实现教程

1.打开 include/arc.listview.class.php 找到

else if($PageNo!=1 && $ctag->GetName()==’field’ && $ctag->GetAtt(‘display’)!=”)

在它的上面加入

else if($ctag->GetName()==”itemcururl”)

{

    if($ismake==0)

    {

        $this->dtp->Assign($tagid,$this->GetItemsCurUrlDM());

    }

    else

    {

        $this->dtp->Assign($tagid,$this->GetItemsCurUrlST());

    }

}

 

继续找到

获得当前的页面文件的url

在它的注释上面加入

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 /**  *  获得当前栏目链接与当前分页链接  *  * @access    public  * @return    string  * @return    {dede:itemcururl/}  */ www.dede58.com 织梦模板 function GetItemsCurUrlDM() { global $cfg_basehost,$cfg_multi_site; $purl = $this->GetCurUrl();     // 如果开启为静态,则对规则进行替换     if($cfg_rewrite == ‘Y’)     {         $nowurls = preg_replace(“/-/”, “.php?”, $purl);         $nowurls = explode(“?”, $nowurls);         $purl = $nowurls[0];     } if($this->PageNo==1) { $geturl = “tid=”.$this->TypeID; $purl .= ‘?’.$geturl; } else { $geturl = “tid=”.$this->TypeID.”&TotalResult=”.$this->TotalResult.”&”; $purl .= ‘?’.$geturl.”PageNo=”.$this->PageNo; } $cururl = ($cfg_multi_site==’Y’) ? $purl : $cfg_basehost.$purl; return $cururl; } function GetItemsCurUrlST() { global $cfg_basehost;     $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($this->PageNo==1) { $purl = MfTypedir($this->Fields[‘typedir’]).’/’; } else { $purl = str_replace(“{page}”,$this->PageNo,$tnamerule); } $cururl = ($cfg_multi_site==’Y’) ? $purl : $cfg_basehost.$purl; return $cururl; }

 

列表页模板调用标签写法

{dede:itemcururl/}