兼容静态 动态 伪静态
支持第一页直接是栏目链接,第二页,第三页。。。。按当前分页
支持在开启绝对路径和没开启绝对路径不同输出
?
实现教程
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/}