帝國cms不一樣列表頁調用不一樣分頁樣式的寫法(對於該死的trylife的技巧的說明)php
要想搞定這個問題,首要的問題是要搞明白帝國cms解析原理,其實帝國不是模板引擎進行解析的,它只是替換函數
$listtemp=str_replace('[!--show.listpage--]',$listpage,$listtemp);spa
通常若是按照模板引擎編譯解析的方式,會選將全部變
量性質的標籤直接經過定界符判斷出是標籤,而後統一使用正則
進行解析,而帝國的處理方式是一個個單獨處理,因此就出現像
上面的那樣,$string爲讀取出來的模板內容,而後一步一步逐一
替換處理,典型的早期的動易、新雲等ASP類CMS的標籤的處理
方式。模板引擎
知道上面這個就好理解如何作帝國自定義分頁了。源碼
這裏還有兩個知道點string
一、自定義函數如何寫,寫在哪裏it
e/class/userfun.phpio
這個文件是帝國定義的使用者寫本身函數的地方。編譯
二、要知道帝國的列表頁是如何解析的。這裏要知道哪一個文件是幹解析用的模板
e/action/ListInfo/index.php
仔細閱讀源碼會發現,帝國是如何解析分頁這個業務邏輯的
//分頁
//$public_r['Pstaticlistpagefun']="myInfoUsePage";$listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);
if($pagefunr['rewrite']==1||$pagefunr['repagenum'])//它是僞靜態時或是靜態頁時的業務
{
$listpage=myInfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);//它是動態時走的判斷
}
else
{
$listpage=page1($num,$line,$page_line,$start,$page,$search);
}
由上可知trylife之因此稱其爲該死,由於它只是判斷了靜態和僞靜態,至於動態,這逼沒有說,也許是故意沒有說的吧,小般小白是不可能分析出來的,怎麼試也試不出結果來的哈哈哈