织梦列表页获取当前链接和当前分页链接
Posted dedevip
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了织梦列表页获取当前链接和当前分页链接相关的知识,希望对你有一定的参考价值。
织梦列表页获取当前链接和当前分页链接
功能描述
- 兼容静态 动态 伪静态
- 支持第一页直接是栏目链接,第二页,第三页。。。。按当前分页
- 支持在开启绝对路径和没开启绝对路径不同输出
实现教程
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/}
以上是关于织梦列表页获取当前链接和当前分页链接的主要内容,如果未能解决你的问题,请参考以下文章