織夢列表頁獲取當前鏈接和當前分頁鏈接
阿新 • • 發佈:2018-11-03
clas reg rewrite lse type att ace makefile ota
織夢列表頁獲取當前鏈接和當前分頁鏈接
功能描述
- 兼容靜態 動態 偽靜態
- 支持第一頁直接是欄目鏈接,第二頁,第三頁。。。。按當前分頁
- 支持在開啟絕對路徑和沒開啟絕對路徑不同輸出
實現教程
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/}
織夢列表頁獲取當前鏈接和當前分頁鏈接