Archive for the ‘帝国CMS二次开发’ Category

帝国CMS不为人知的技巧 – 终极栏目自定义排序项

星期一, 九月 20th, 2010

一、概述

此文同属于《帝国CMS 会员信息加粗/加色/置顶》相关分享

如上图,默认的选择方式如绿色框圈出有5个选项,实际上是可以自定义新的排序方式,不限制在系统给定的5个,而是主表字段均可参与排序,例如:turetime(真实发布时间的UNIX时间戳),lastdotime(信息修改时间UNIX时间戳)所有主表字段包括自定义字段在内,同样可以多个排序参数一起用(truetime desc,lastdotime desc),实际情况我们我们先看代码;

二、探索

$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$yhadd."(".$whereclass.") and checked=1 order by ".ReturnSetTopSql('list').$addorder.$limit;

以下代码是e/class/functions.php中负责终极栏目查询的代码,有两个排序条件取得代码ReturnSetTopSql(‘list’)和$addorder;ReturnSetTopSql(‘list’)取得的是列表是否使用置顶排序,ReturnSetTopSql()定义在e/class/connect.php,相关设置在后台->系统设置->信息设置中;$addorder为以下代码判断获得的,大致意思是栏目设置中排序方式为空的话就默认用发布时间倒序排序,如果是不为空的话呢就使用栏目设置的排序;

//排序
if(empty($class_r[$classid][reorder]))
{
	$addorder="newstime desc";
}
else
{
	$addorder=$class_r[$classid][reorder];
}

三、总结

1.以会员信息置顶为例如果使用外置字段作为置顶字段,可以在栏目设置中添加排序选项,这样减少了修改系统文件
2.不同模型排序,复杂模型排序同样可以使用栏目设置的排序选项,方便;
3.不更改文件并且系统参数设置使用制定排序则置顶排序永远高于栏目设置的排序设置
4.必要的时候可以更改ReturnSetTopSql(‘list’)与$addorder前后顺序满足特殊排序需要(其他排序选项高于系统排序情况下)
5.最好的办法就是后台系统设置不设置置顶项参与排序,而在栏目设置中自己定义排序字段

四、相关文章推荐

帝国CMS模板不为人知的技巧2 – 对系统设置的重新赋值
帝国CMS模板不为人知的技巧 – 对语言包重新赋值应用

Tags: ,

《帝国CMS 会员信息加粗/加色/置顶》 插件

星期一, 九月 20th, 2010

一、帝国CMS 会员信息加粗/加色/置顶 展示

和以前做的有些不同,以前只做的是帝国CMS系统外置功能,就是不和系统的信息加色/加粗/置顶相关联的;以前《帝国CMS会员信息加色/置顶/加粗》地址:http://bbs.phome.net/showthread-13-115085-0.html;此版本客户要求按着系统内置的加粗/加色/置顶;于是出现新版本的截图如下:

二、帝国CMS 会员信息加粗/加色/置顶 相关分享

帝国CMS不为人知的技巧 – 自定义列表排序项

Tags: , ,

to_time() 帝国CMS日期时间转UNIX时间戳函数

星期四, 九月 2nd, 2010

to_time()

函数:to_time()
功能:将日期 / 日期时间 类型转为unix时间戳的函数
位置:帝国CMS e/class/connect.php
版本:6.5

to_time($datetime)

$datetime : 日期类型格式如:2012-12-12 日期时间如:2012-12-12 12:12:12
函数返回unix时间戳

(更多…)

Tags: ,

EcmsToSendMail() 帝国CMS发送邮件函数

星期四, 九月 2nd, 2010

EcmsToSendMail()

函数:EcmsToSendMail()
功能:帝国CMS邮件发送函数
位置:帝国CMS SendEmail.inc.php
版本:6.5

EcmsToSendMail($email,$subject,$content);

$emai : 邮件地址可为数组
$subject : 邮件标题
$content : 邮件内容

说明

函数遵循后台配置,后台配置使用什么方法发送邮件,函数将会使用什么方法发送邮件;
1.mail函数这个方法必须配置服务器邮件环境,环境不受待见得话会出来就是个垃圾邮件~
2.smtp这个方法不用配置服务器,使用163等邮箱smtp即可 就是老屏蔽
(更多…)

Tags: , ,

帝国CMS定义函数使用率 前100位

星期六, 八月 28th, 2010

帝国CMS6.5 系统定义函数使用次数排列文档,做功能拓展和二次开发的童鞋前100肯定是必看的
排第一的果不其然就是printerror()这个信息提示函数 使用了1904次,sql类里的方法基本都靠前特别是query()1440次 , fetch() 720次 , fetch1 539 次; 所有函数排列点击《帝国CMS函数列表》

备注:不包括JS函数 系统标签函数

ID 函数 使用次数 定义位置
1 printerror() 1904 /e/class/connect.php line 132
2 query() 1440 /e/class/db_sql.php line 10
3 fetch1() 720 /e/class/db_sql.php line 30
4 fetch() 539 /e/class/db_sql.php line 22
5 checklevel() 513 /e/class/functions.php line 3414
6 insert_dolog() 370 /e/class/functions.php line 3625
7 db_connect() 366 /e/class/connect.php line 66
8 db_close() 363 /e/class/connect.php line 110
9 is_login() 267 /e/class/functions.php line 3466
10 reppostvar() 222 /e/class/connect.php line 334
11 gettotal() 193 /e/class/db_sql.php line 52
12 gotourl() 148 /e/admin/map.php line 25
13 getcvar() 138 /e/class/connect.php line 125
14 loadlang() 128 /e/class/connect.php line 294
15 doreqvalue() 113 /e/class/qinfofun.php line 72
16 getdotemptb() 112 /e/class/connect.php line 266
17 esetcookie() 87 /e/class/connect.php line 118
18 lastid() 86 /e/class/db_sql.php line 70
19 islogin() 72 /e/class/user.php line 775
20 close() 70 /e/class/class.smtp.php line 193
21 reppoststr() 70 /e/class/connect.php line 381
22 page2() 66 /e/class/functions.php line 58
23 spopenchfile() 57 /e/admin/EditCjNews.php line 102
24 gettemptb() 57 /e/class/connect.php line 248
25 returnclass() 55 /e/class/connect.php line 1624
26 repphpaspjspcode() 50 /e/class/q_functions.php line 47
27 sys_returnbqtitlelink() 49 /e/class/connect.php line 797
28 getconfig() 47 /e/class/functions.php line 4745
29 to_time() 46 /e/class/connect.php line 587
30 doutfandgbk() 41 /e/class/user.php line 50
31 checkfilemod() 36 /e/admin/PathLevel.php line 37
32 writefiletext_n() 36 /e/class/connect.php line 671
33 sub() 34 /e/class/connect.php line 442
34 delfiletext() 34 /e/class/connect.php line 632
35 over() 32 /e/admin/adminstyle/2/AdminMain.php line 61
36 checkall() 32 /e/admin/tags/ListTags.php line 430
37 out() 32 /e/admin/adminstyle/2/AdminMain.php line 73
38 sys_returnbqclassname() 32 /e/class/connect.php line 890
39 readfiletext() 31 /e/class/connect.php line 637
40 getnewsjs() 30 /e/class/functions.php line 2634
41 delfj() 30 /e/data/html/q2.php line 16
42 addfj() 30 /e/data/html/q2.php line 7
43 forecolor() 29 /e/admin/sp/AddSpInfo.php line 80
44 egetip() 29 /e/class/connect.php line 300
45 jumptomain() 29 /e/admin/adminstyle/2/AdminMain.php line 97
46 reppostvar2() 29 /e/class/connect.php line 358
47 getfiletype() 28 /e/class/connect.php line 411
48 addrepad() 28 /e/admin/AddInfoClass.php line 181
49 lmescape_str() 28 /e/class/moddofun.php line 2264
50 replaceloadtgtemp() 28 /e/class/tempfun.php line 906
51 writefiletext() 27 /e/class/connect.php line 658
52 clearaddsdata() 26 /e/class/connect.php line 2046
53 stripaddsdata() 25 /e/class/connect.php line 2064
54 getclass() 23 /e/class/functions.php line 5174
55 repinfozz() 23 /e/class/functions.php line 1103
56 page1() 23 /e/class/connect.php line 539
57 listhtml() 22 /e/class/functions.php line 1618
58 wipespecial() 22 /e/class/ftp.php line 8
59 replacefc() 22 /e/class/cjfun.php line 582
60 checktempgroup() 22 /e/class/functions.php line 373
61 gettxtfieldtext() 22 /e/class/connect.php line 2072
62 showclass_addclass() 21 /e/class/functions.php line 997
63 ecms_showeditorvar() 21 /e/admin/ecmseditor/infoeditor/fckeditor.php line 8
64 get_lines() 21 /e/class/class.smtp.php line 962
65 returnformhidden() 20 /e/class/functions.php line 388
66 repsperssstr() 20 /e/web/index.php line 44
67 getinfostr() 19 /e/class/cjfun.php line 589
68 gethtml() 19 /e/class/functions.php line 1992
69 error_handler() 18 /e/class/SendEmail.inc.php line 1396
70 make_password() 18 /e/class/connect.php line 503
71 newsbq() 17 /e/class/functions.php line 1403
72 returnresult() 17 /e/install/data/fun.php line 32
73 returnyhsql() 17 /e/class/connect.php line 1020
74 echoviewfile() 16 /e/data/ecmseditor/infoeditor/epage/TranMedia.php line 98
75 encodeconfig() 16 /e/admin/ecmseditor/infoeditor/fckeditor_php4.php line 219
76 ecms_qeditorprinterror() 16 /e/class/qinfofun.php line 1208
77 ajax_printerror() 15 /e/class/connect.php line 204
78 connected() 14 /e/class/class.smtp.php line 168
79 dotitlefont() 14 /e/class/connect.php line 683
80 repphpaspjspcodetext() 14 /e/class/functions.php line 203
81 repfieldtextnbsp() 14 /e/class/connect.php line 1890
82 togetfiletype() 14 /e/admin/ecmseditor/infoeditor/epage/TranFlash.php line 79
83 returnfilesavepath() 14 /e/class/connect.php line 1371
84 addcheckviewtempcode() 13 /e/class/functions.php line 47
85 num() 13 /e/class/db_sql.php line 37
86 sys_returnbqtemp() 12 /e/class/t_functions.php line 579
87 returnmfilef() 12 /e/class/functions.php line 3854
88 returnreplacelistf() 12 /e/class/connect.php line 1047
89 installshowmsg() 12 /e/install/data/fun.php line 218
90 dellistenews() 12 /e/class/functions.php line 180
91 replacelistvars() 12 /e/class/connect.php line 1056
92 docheckall() 11 /e/admin/db/AddM.php line 284
93 replacetempvar() 11 /e/class/q_functions.php line 639
94 ecms_editorprinterror() 11 /e/admin/ecmseditor/editorfun.php line 3
95 delnewsfile() 11 /e/class/functions.php line 769
96 getsearch() 11 /e/class/functions.php line 2917
97 domkdir() 11 /e/class/connect.php line 708
98 checksavetranfiletype() 11 /e/class/connect.php line 1895
99 copyecmstb() 11 /e/class/functions.php line 3819
100 returnsqllistf() 11 /e/class/connect.php line 1036

Analysis Information:

Source : EmpireCMS6.5 (201007201830) GBK
Order : references DEST LIMIT 100
DateTime : 2010-08-28 07:13:00

Author : ⌒_⌒TryLife (bbs.phome.net)

Tools : Unnamed PHP Source Analytics Tools by Trylife
Blog : www.trylife.cn

Tags: