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

织梦技巧

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

功能描述

  • 兼容静态 动态 伪静态
  • 支持第一页直接是栏目链接,第二页,第三页。。。。按当前分页
  • 支持在开启绝对路径和没开启绝对路径不同输出

织梦教程开始

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

在它的注释上面加入

/** *  获得当前栏目链接与当前分页链接 * * @access    public * @return    string * @return    {dede:itemcururl/} */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/}

标签:
吃喝网尾部