帝国cms的7.5的自定义列表非常好用,但是不能是动态页面。本教程教您如何修改。
修改functions.php 这个文件在e的class目录下,是帝国cms的核心函数文件,修改前要备份下。
查找://生成自定义信息列表
把这个函数(ReUserlist)修改为这样的:
//生成自定义信息列表
function ReUserlist($listr,$addpath){
$listr['addpath']=$addpath;
DoFileMkDir(eReturnTrueEcmsPath().'e/data/'.$listr['filepath']);//建目录maddpath
eAutodo_AddDo('ReUserlist',$listr['listid'],0,0,0,0);//moreportdo
//add by jiuhecai for dt user list
if($listr['filetype']=='.php'){
if(function_exists('jhc_dtusrlist'))jhc_dtusrlist($listr);
}else{
ListHtml($listr['listid'],$field,4,$listr);
}
}
2.修改自定义函数文件,就是userfun.php,这个文件也在e的class目录下。记得备份。增加一个函数:
//自定义动态列表
function jhc_dtusrlist($listr){
global $dbtbpre;
$pagestr=file_get_contents(ECMS_PATH.'e/data/template/dtuserlist.php');
$pagestr=str_replace("exit;exit;",'',$pagestr);
$pagestr=str_replace("[!--lencord--]",$listr['[lencord]'],$pagestr);
$pagestr=str_replace("[!--listtempid--]",$listr['listtempid'],$pagestr);
$pagestr=str_replace("[!--totalsql--]",$listr['totalsql'],$pagestr);
$pagestr=str_replace("[!--listsql--]",$listr['listsql'],$pagestr);
$pagestr=str_replace("[!--pagetitle--]",$listr['pagetitle'],$pagestr);
$pagestr=str_replace("[!--pagekeywords--]",$listr['pagekeywords'],$pagestr);
$pagestr=str_replace("[!db.pre!]",$dbtbpre,$pagestr);
$pagestr=str_replace("[!--pagedescription--]",$listr['pagedescription'],$pagestr);
$path=$listr['filepath'];
$jige=count(explode('/',strstr($path,'../../')))-3;
$shendu=str_repeat('../',$jige );
$pagestr=str_replace("[!--id--]",$id,$pagestr);
$pagestr=str_replace("[!--shendu--]",$shendu,$pagestr);
$path=eReturnTrueEcmsPath().'e/data/'.$path.'index.php';
WriteFiletext($path,$pagestr);
}
3. 新建一个名字为dtuserlist.php的文件,在位置e/data/template/dtuserlist.php
其内容为:
此处隐藏5143个字。
阅读需要3000 积分。确认阅读
这样处理以后,当自定义列表的后缀选择php的时候,就能自动生成动态列表页面。