此方法可以实现,栏目自定义列表 例如 某栏目只想调用子栏目下面 字段=某值的信息列表
首先在栏目字段 新建2个字段listsql 标示名 "使用sql" 和totalsql 标示名"使用sql统计" 类型为均text 多行文本框表单 第一步完成, 打开 e/class/functions.php 大概1853行,$totalquery="select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$yhadd."classid='$classid' and checked=1";//统计... 找到这句,在其后添加 if(ReturnClassAddField($selfclassid,"listsql")!=""){ $query=RepSqlTbpre(str_replace("[!--classid--]","classid='$classid'",stripSlashes(ReturnClassAddField($selfclassid,"listsql")).$limit)); }; if(ReturnClassAddField($selfclassid,"totalsql")!=""){ $totalquery=RepSqlTbpre(str_replace("[!--classid--]","classid='$classid'",stripSlashes(ReturnClassAddField($selfclassid,"totalsql"))));//统计 };
再到大概1977行,$totalquery="select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$yhadd."(".$whereclass.") and checked=1";//统计... 找到这句,在其后添加 if(ReturnClassAddField($selfclassid,"listsql")!=""){ $query=RepSqlTbpre(str_replace("[!--classid--]",$whereclass,stripSlashes(ReturnClassAddField($selfclassid,"listsql")).$limit)); }; if(ReturnClassAddField($selfclassid,"totalsql")!=""){ $totalquery=RepSqlTbpre(str_replace("[!--classid--]",$whereclass,stripSlashes(ReturnClassAddField($selfclassid,"totalsql"))));//统计 };
修改完毕
使用方法 进入修改栏目,自定字段选项 例如 使用sql 输入 select * from [!db.pre!]ecms_news where [!--classid--] and checked=1 and isgood>0 order by newstime DESC //只调用该栏目推荐的信息 使用sql统计输入 select count(*) as total from phome_ecms_news where [!--classid--] and checked=1 and isgood>0 order by newstime DESC //只调用该栏目推荐的信息
完毕,更新数据 就能看到自己定义的列表了
上传以下图片:

|