Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改] Discuz! X2/X2.5 插件制作之后台常用函数

[复制链接]
dujun0618 发表于 2012-10-25 21:36:22 | 显示全部楼层 |阅读模式
当您在编写后台时,需要对几个常用后台显示函数进行详细的了解
下面的函数讲解按照重要性、常用性进行排序

目录
showsetting()表单显示

cpmsg()提示消息

showformheader()创建表单头

showformfooter()创建表单尾

showtableheader()创建表格头

showtablefooter()创建表格尾

showtablerow()创建列表式页面的行

showsubmit()创建提交按钮

showhiddenfields()创建隐藏表单域

showsubmenu()二级导航栏显示

shownav()面包屑导航栏显示及二级导航栏标题

showsetting()表单显示
返回值:无
参数:


$setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname_comment,comment形式文字可以在./source/language/lang_admincp.php语言包中添加

$varname - 指定表单的name值,如settingnew[bbname]

$value - 指定表单默认值\变量

$type - 表单样式

radio单选

text文本、password密码、number数字

file上传文件

filetext 上传文件或在线文件切换型表单

textarea 多行文本

select 选择框

mradio 高级单选模式

mcheckbox 高级多选模式

binmcheckbox 二进制数值多选模式

mselect 高级选择框模式

color 颜色选择

calendar 日期选择

multiply多表单型,daterange时间范围

其他未在上述样式中出现的$type均独立输出

$disabled - 是否不可修改

$hidden - 是否隐藏

$comment - 强制描述文字

$extra - 表单扩展属性

$setid - 用于拼接表单外层Div的id
使用方法举例:
以文本形式输出表单(站点名称 text):

showsetting('setting_basic_bbname', 'settingnew[bbname]', $setting['bbname'], 'text');
以单选形式输出表单(显示授权信息链接 radio):

showsetting('setting_basic_boardlicensed', 'settingnew[boardlicensed]', $setting['boardlicensed'], 'radio');
以多行文本形式输出表单(网站第三方统计代码 textarea):

showsetting('setting_basic_stat', 'settingnew[statcode]', $setting['statcode'], 'textarea');
以高级单选形式输出表单(新用户注册验证 mradio)

showsetting('setting_access_register_verify', array('settingnew[regverify]', array(

array(0, $lang['none'], array('regverifyext' => 'none')),

array(1, $lang['setting_access_register_verify_email'], array('regverifyext' => '')),

array(2, $lang['setting_access_register_verify_manual'], array('regverifyext' => ''))

)), $setting['regverify'], 'mradio');
以高级多选形式输出表单('允许新用户注册 mcheckbox)

showsetting('setting_access_register_status', array('settingnew[regstatus]', array(

array('open', $lang['setting_access_register_open']),

array('invite', $lang['setting_access_register_invite'], 'showinvite'),

$_G['setting']['connect']['allow'] ? array('connect', $lang['setting_access_register_connect'], 'showconnect') : array(),

)), $regstatus, 'mcheckbox');

cpmsg()提示消息
返回值:无
参数:
$message - lang_admincp_msg.php 语言包中需要输出的key

$url - 提示信息后跳转的页面,留空则返回上一页

$type - 特殊提示信息时指定页面的提示样式,可选参数:succeed、error、download、loadingform

$values - 为语言包中的变量关键词指定值,以数组形式输入

$extra - 消息文字扩展

$halt - 是否输出“Discuz! 提示”标题
使用方法举例:
成功提示信息

cpmsg('tasks_installed', 'action=tasks&operation=type', 'succeed');
错误提示信息,并传递变量(cachethreaddir为要传递如语言包中的变量关键词)

cpmsg('cachethread_dir_noexists', '', 'error', array('cachethreaddir' => $settingnew['cachethreaddir']));

showformheader()创建表单头
返回值:无
参数:

$action - 表单action的一部分,程序会自动添加 admincp.php?action= 这些内容

$extra - 表单附加属性,可以是样式等

$name - 表单的name和id

$method - 表单提交方式
使用方法举例:
合并版块表单:


showformheader('forums&operation=merge');

showformfooter()创建表单尾
无返回值、无参数
用于接上showformheader()函数进行收尾工作

showtableheader()创建表格头
返回值:无
参数:
$title - 如果输入title则显示标题,class为header,否则仅显示一个table头

$classname - 定义此输出表格的CSS样式

$extra - 表格扩展属性

$titlespan - 表格列数
使用方法实例:

showtableheader('forums_edit_posts', 'nobottom');

showtablefooter()创建表格尾
用于接上showformheader()函数进行收尾工作

showtablerow()创建列表式页面的行
返回值:有
参数:
$trstyle - 此行 tr 标签的格式定义,如 class="partition"

$tdstyle <array> - TD 标签的格式定义,如 class,colspan 等

$tdtext <array> - TD内显示的内容

$return 是否返回值
此函数多用于循环中,用来逐行创建一个有规律的数据列表如:论坛版块列表等
使用方法举例 ./source/admincp/admincp_forums.php
showtablerow('', array('class="td25"', 'class="td28"'), array(

'<input type="checkbox" class="checkbox" name="delete[]" value="'.$mod[uid].'"'.($mod['inherited'] ? ' disabled' : '').' />',

'<input type="text" class="txt" name="displayordernew['.$mod[uid].']" value="'.$mod[displayorder].'" size="2" />',

"<a href=\"".ADMINSCRIPT."?mod=forum&action=members&operation=group&uid=$mod[uid]\" target=\"_blank\">$mod[username]</a>",

$modgroups[$mod['groupid']],

cplang($mod['inherited'] ? 'yes' : 'no'),

));

showsubmit()创建提交按钮
返回值:无
$name - 定义提交按钮的name值

$value - 定义按钮的文字值

$before - 根据此按钮之前的属性来输出样式

$after - 根据此按钮之后的属性来输出样式

$floatright - 是否有浮动

$entersubmit - 是否使用回车定义按钮提交动作

showhiddenfields()创建隐藏表单域
返回值:无
参数:


$hiddenfields <array> 以数组形式传入,循环输出隐藏表单域
showsubmenu()二级导航栏显示
返回值:无
参数:
$title - 二级导航的当前栏标题

$menus <array> - 多个子导航
使用方法举例:
后台-用户-会员管理
showsubmenu('nav_members', array(

array('search', 'members&operation=search', 1),

array('clean', 'members&operation=clean', 0),

array('nav_repeat', 'members&operation=repeat', 0),

));

shownav()面包屑导航栏显示及二级导航栏标题
返回值:无
参数:
$header - 导航起点

$menu - 子导航标题

$nav - 面包屑导航第三层
使用方法举例:
后台-运营-电子商务

shownav('extended', 'nav_ec', 'nav_ec_config');
以上列举的均为最常用后台函数,仔细了解这些函数的使用已经能够满足您对 Discuz! X 系列版本的后台开发需求

原文:http://www.cnit618.com/html/kyxt/discuz/2818.htm
 楼主| dujun0618 发表于 2012-10-25 21:40:29 | 显示全部楼层
我的帖子被秒淘了
回复

使用道具 举报

netfeiniao 发表于 2012-10-25 21:52:50 | 显示全部楼层
记一下
回复

使用道具 举报

腾讯总裁 发表于 2012-10-25 22:37:54 | 显示全部楼层
收藏一下ia
回复

使用道具 举报

duduopen 发表于 2012-10-25 22:42:40 | 显示全部楼层
感谢分享!!
E世博 http://www.icoll.net
回复

使用道具 举报

go123 发表于 2012-10-25 22:50:07 | 显示全部楼层
官方dev.discuz.org/wiki里有
回复

使用道具 举报

fengchujun 发表于 2012-10-26 14:28:19 | 显示全部楼层
感谢分享了。。。
回复

使用道具 举报

1314学习网 发表于 2012-10-26 20:23:42 | 显示全部楼层
前排支持下。。。
回复

使用道具 举报

!潜行 发表于 2012-10-26 20:45:26 | 显示全部楼层
记下
回复

使用道具 举报

hackshow 发表于 2012-10-26 22:51:49 | 显示全部楼层
h {:soso__2252603165368053288_4:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-14 14:55 , Processed in 0.027794 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表