POST TIME:2020-04-10 19:06
本方法原理上適用于DedeV5.3及以上所有的版本,不分編碼。
這個問題來源于剛才有一位朋友的需求,他希望在列表頁可以自由的調(diào)用當(dāng)前欄目的一些與頁碼相關(guān)的信息。這個需求如果用自帶的織夢標(biāo)簽,是無法實現(xiàn)的,我們需要修改源代碼后才可實現(xiàn)。
實現(xiàn)步驟
打開/include/arc.listview.class.php 文件,找到:
if(preg_match('/index/i', $listitem)) $plist .= $indexpage; if(preg_match('/pre/i', $listitem)) $plist .= $prepage; if(preg_match('/pageno/i', $listitem)) $plist .= $listdd; if(preg_match('/next/i', $listitem)) $plist .= $nextpage; if(preg_match('/end/i', $listitem)) $plist .= $endpage; if(preg_match('/option/i', $listitem)) $plist .= $optionlist; if(preg_match('/info/i', $listitem)) $plist .= $maininfo;這樣的代碼,一共有兩處(靜態(tài)分頁函數(shù)與動態(tài)分頁函數(shù)),修改為:
$PageNo = $this->PageNo; $TotalResult = $this->TotalResult; $TotalPage = $totalpage; $PageSize = $this->PageSize; if(preg_match('/thisPage/i', $listitem)) $plist .= $PageNo; if(preg_match('/TotalResult/i', $listitem)) $plist .= $TotalResult; if(preg_match('/TotalPage/i', $listitem)) $plist .= $TotalPage; if(preg_match('/PageSize/i', $listitem)) $plist .= $PageSize; if(preg_match('/index/i', $listitem)) $plist .= $indexpage; if(preg_match('/pre/i', $listitem)) $plist .= $prepage; if(preg_match('/pageno/i', $listitem)) $plist .= $listdd; if(preg_match('/next/i', $listitem)) $plist .= $nextpage; if(preg_match('/end/i', $listitem)) $plist .= $endpage; if(preg_match('/option/i', $listitem)) $plist .= $optionlist; if(preg_match('/info/i', $listitem)) $plist .= $maininfo;
保存后即可。
注:要修改兩處,一個是靜態(tài)的,一個是動態(tài)的,你可以用相關(guān)編輯軟件的搜索功能進行查找。
接下來我們就可以在我們所需要的前臺頁面(模板文件名一般為 list_***.htm)進行調(diào)用了,調(diào)用的代碼一共有如下幾個:
文檔總數(shù):{dede:pagelist listitem="TotalResult"/}
分頁總數(shù):{dede:pagelist listitem="TotalPage"/}
分頁大小:{dede:pagelist listitem="PageSize"/}
當(dāng)前頁碼:{dede:pagelist listitem="thisPage"/}
它可以實現(xiàn)在列表頁模板中任意地方的調(diào)用,也可以同時在多個地方進行調(diào)用。