`

Discuz! X2插件制作之后台常用函数

阅读更多

当您在编写后台时,需要对几个常用后台显示函数进行详细的了解 
下面的函数讲解按照重要性、常用性进行排序 
目录 

  1. 1 showsetting()表单显示 
  2. 2 cpmsg()提示消息 
  3. 3 showformheader()创建表单头 
  4. 4 showformfooter()创建表单尾 
  5. 5 showtableheader()创建表格头 
  6. 6 showtablefooter()创建表格尾 
  7. 7 showtablerow()创建列表式页面的行 
  8. 8 showsubmit()创建提交按钮 
  9. 9 showhiddenfields()创建隐藏表单域 
  10. 10 showsubmenu()二级导航栏显示 
  11. 11 shownav()面包屑导航栏显示及二级导航栏标题
复制代码



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

  1. $setname - 指定输出标题,如:setting_basic_bbname, 自动匹配描述文字为:setting_basic_bbname_comment,comment形式文字可以在./source/language/lang_admincp.php语言包中添加 
  2. $varname - 指定表单的name值,如settingnew[bbname] 
  3. $value - 指定表单默认值\变量 
  4. $type - 表单样式 
  5. radio单选 
  6. text文本、password密码、number数字 
  7. file上传文件 
  8. filetext 上传文件或在线文件切换型表单 
  9. textarea 多行文本 
  10. select 选择框 
  11. mradio 高级单选模式 
  12. mcheckbox 高级多选模式 
  13. binmcheckbox 二进制数值多选模式 
  14. mselect 高级选择框模式 
  15. color 颜色选择 
  16. calendar 日期选择 
  17. multiply多表单型,daterange时间范围 
  18. 其他未在上述样式中出现的$type均独立输出 
  19. $disabled - 是否不可修改 
  20. $hidden - 是否隐藏 
  21. $comment - 强制描述文字 
  22. $extra - 表单扩展属性 
  23. $setid - 用于拼接表单外层Div的id
复制代码


使用方法举例: 
以文本形式输出表单(站点名称 text): 

  1. showsetting('setting_basic_bbname', 'settingnew[bbname]', $setting['bbname'], 'text');
复制代码

以单选形式输出表单(显示授权信息链接 radio): 

  1. showsetting('setting_basic_boardlicensed', 'settingnew[boardlicensed]', $setting['boardlicensed'], 'radio');
复制代码

以多行文本形式输出表单(网站第三方统计代码 textarea): 

  1. showsetting('setting_basic_stat', 'settingnew[statcode]', $setting['statcode'], 'textarea');
复制代码

以高级单选形式输出表单(新用户注册验证 mradio) 

  1. showsetting('setting_access_register_verify', array('settingnew[regverify]', array(
  2.         array(0, $lang['none'], array('regverifyext' => 'none')),
  3.         array(1, $lang['setting_access_register_verify_email'], array('regverifyext' => '')),
  4.         array(2, $lang['setting_access_register_verify_manual'], array('regverifyext' => ''))
  5. )), $setting['regverify'], 'mradio');
复制代码

以高级多选形式输出表单('允许新用户注册 mcheckbox) 

  1. showsetting('setting_access_register_status', array('settingnew[regstatus]', array(
  2.         array('open', $lang['setting_access_register_open']),
  3.         array('invite', $lang['setting_access_register_invite'], 'showinvite'),
  4.         $_G['setting']['connect']['allow'] ? array('connect', $lang['setting_access_register_connect'], 'showconnect') : array(),
  5. )), $regstatus, 'mcheckbox');
复制代码

cpmsg()提示消息
返回值:无 
参数: 

  1. $message - lang_admincp_msg.php 语言包中需要输出的key 
  2. $url - 提示信息后跳转的页面,留空则返回上一页 
  3. $type - 特殊提示信息时指定页面的提示样式,可选参数:succeed、error、download、loadingform 
  4. $values - 为语言包中的变量关键词指定值,以数组形式输入 
  5. $extra - 消息文字扩展 
  6. $halt - 是否输出“Discuz! 提示”标题
复制代码


使用方法举例: 
成功提示信息 

  1. cpmsg('tasks_installed', 'action=tasks&operation=type', 'succeed');
复制代码

错误提示信息,并传递变量(cachethreaddir为要传递如语言包中的变量关键词) 

  1. cpmsg('cachethread_dir_noexists', '', 'error', array('cachethreaddir' => $settingnew['cachethreaddir']));
复制代码

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

  1. $action - 表单action的一部分,程序会自动添加 admincp.php?action= 这些内容 
  2. $extra - 表单附加属性,可以是样式等 
  3. $name - 表单的name和id 
  4. $method - 表单提交方式
复制代码


使用方法举例,合并版块表单: 

  1. showformheader('forums&operation=merge');
复制代码


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

showtableheader()创建表格头
返回值:无 
参数: 

  1. $title - 如果输入title则显示标题,class为header,否则仅显示一个table头 
  2. $classname - 定义此输出表格的CSS样式 
  3. $extra - 表格扩展属性 
  4. $titlespan - 表格列数
复制代码


使用方法实例: 

  1. showtableheader('forums_edit_posts', 'nobottom');
复制代码

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

showtablerow()创建列表式页面的行
返回值:有 
参数: 

  1. $trstyle - 此行 tr 标签的格式定义,如 class="partition" 
  2. $tdstyle <array> - TD 标签的格式定义,如 class,colspan 等 
  3. $tdtext <array> - TD内显示的内容 
  4. $return 是否返回值
复制代码


此函数多用于循环中,用来逐行创建一个有规律的数据列表如:论坛版块列表等 
使用方法举例 ./source/admincp/admincp_forums.php 

  1. showtablerow('', array('class="td25"', 'class="td28"'), array(
  2.         '<input type="checkbox" class="checkbox" name="delete[]" value="'.$mod[uid].'"'.($mod['inherited'] ? ' disabled' : '').' />',
  3.         '<input type="text" class="txt" name="displayordernew['.$mod[uid].']" value="'.$mod[displayorder].'" size="2" />',
  4.         "<a href=\"".ADMINSCRIPT."?mod=forum&action=members&operation=group&uid=$mod[uid]\" target=\"_blank\">$mod[username]</a>",
  5.         $modgroups[$mod['groupid']],
  6.         cplang($mod['inherited'] ? 'yes' : 'no'),
  7. ));
复制代码


showsubmit()创建提交按钮
返回值:无 

  1. $name - 定义提交按钮的name值 
  2. $value - 定义按钮的文字值 
  3. $before - 根据此按钮之前的属性来输出样式 
  4. $after - 根据此按钮之后的属性来输出样式 
  5. $floatright - 是否有浮动 
  6. $entersubmit - 是否使用回车定义按钮提交动作 
  7. showhiddenfields()创建隐藏表单域
复制代码

返回值:无 
参数: 

  1. $hiddenfields <array> 以数组形式传入,循环输出隐藏表单域 
  2. showsubmenu()二级导航栏显示
复制代码

返回值:无 
参数: 

  1. $title - 二级导航的当前栏标题 
  2. $menus <array> - 多个子导航
复制代码


使用方法举例: 
后台-用户-会员管理 

  1. showsubmenu('nav_members', array(
  2.         array('search', 'members&operation=search', 1),
  3.         array('clean', 'members&operation=clean', 0),
  4.         array('nav_repeat', 'members&operation=repeat', 0),
  5. ));
复制代码

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

  1. $header - 导航起点 
  2. $menu - 子导航标题 
  3. $nav - 面包屑导航第三层
复制代码


使用方法举例: 
后台-运营-电子商务 

  1. shownav('extended', 'nav_ec', 'nav_ec_config');
复制代码


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

 

海口论坛 http://www.souhaikou.com

海口微博 http://t.souhaikou.com

分享到:
评论

相关推荐

    Discuz! X2 插件开发一些注意事项

    X2插件开发过程中可能遇到的一些关键知识点,帮助开发者避免常见问题,提高开发效率。 #### 一、嵌入点的理解与应用 ##### 1. **showmessage函数中的嵌入点** - **位置**:位于`function_message.php`文件约第25...

    Discuz-X2插件培训.pdf

    X2插件开发机制与技巧详解 #### 插件开发介绍与重要性 Discuz! X2作为一款强大的社区论坛软件,提供了丰富的插件开发机制,旨在帮助开发者根据具体需求定制功能,提升用户体验。插件的开发不仅需要对Discuz!的基本...

    Discuz!X插件开发过程 入门必学

    X2插件模块说明 Discuz!X2提供了多种插件模块类型,以适应不同的需求: - **导航栏项目**:可在前台导航栏增加菜单项,指向自定义URL或调用插件的某个模块。 - **导航栏-插件菜单项目**:在前台导航栏的插件子菜单...

    Discuz! X2 首页N格 2012-源码.zip

    X2 首页N格 2012-源码》是一款针对Discuz! X2论坛系统开发的首页布局优化模版,主要用于提升用户在论坛首页的浏览体验。这款源码旨在通过自定义设计,将论坛首页分割成多个功能模块,每个模块(或称为“格”)具有...

    PHP实例开发源码-discuz X2 QQ互联插件.zip

    【PHP实例开发源码-discuz X2 QQ互联插件.zip】是一个包含PHP源代码的压缩文件,主要用于实现Discuz! X2论坛系统与QQ账号的互联互通功能。Discuz! 是一款广泛使用的开源社区论坛软件,而QQ互联插件则允许用户使用QQ...

    Discuz! X2 R20120628 简体UTF-8.zip

    Discuz!X是康盛创想(Comsenz)推出的一个以社区为基础的专业建站平台,让论坛(BBS)、个人空间(SNS)、门户(Portal)、群组(Group)、应用开放平台(Open Platform)充分融合于一体,帮助网站实现一站式服务。 ...

    Discuz!_X2笔记.pdf

    ### Discuz! X2 单例模式与系统架构解析 #### 单例模式(Singleton Pattern) **概述** 单例模式是一种常用的软件设计模式,在整个系统中只存在一个实例对象,可以确保系统环境中某个类只有一个实例存在,并且提供...

    discuzx 插件的开发文档

    X2插件开发机制与技巧详解 #### 一、插件开发概述 Discuz!X2是一款非常流行的社区论坛软件,它提供了强大的功能来满足不同规模社区的需求。为了进一步增强论坛的功能性和用户体验,插件开发成为了必不可少的一部分...

    discuz_X2文档

    Discuz! X2 是一款流行的开源社区论坛软件,它提供了丰富的功能和高度的可定制性。本文将深入探讨 Discuz! X2 的主要程序文件及其功能,帮助你更好地理解和修改系统。 首先,我们要明确,修改 Discuz! X2 的系统...

    discuzX2forSAE【SAE版discuz】

    ,用户需要注意SAE的安全规则,如防止SQL注入、XSS攻击等,同时SAE的沙箱环境也对某些函数进行了限制,需要在编写或安装插件时特别注意。 7. **扩展与维护**:尽管Discuz! X2 for SAE是为SAE定制的,但它仍然可以...

    discuz_X2二次开发帮助文档.

    Discuz! X2 是一个流行的开源社区论坛软件,它允许用户进行二次开发以满足特定需求。这篇文档主要针对 Discuz! X2 的核心文件结构和功能进行了概述,旨在帮助开发者更好地理解和定制该平台。 首先,对于 Discuz! X2...

    discuz x2 不同页面调用不同样式

    ### Discuz X2 不同页面调用不同样式详解 #### 背景介绍与目标设定 Discuz是一款广泛使用的开源论坛软件,它提供了强大的社区功能和丰富的插件系统,深受用户喜爱。但在个性化定制方面,如何让不同页面拥有独特的...

    Discuz_X2论坛支持在线电影高速播放教程

    ### Discuz_X2论坛支持在线电影高速播放教程 #### 一、引言 随着互联网技术的发展,越来越多的网站开始提供在线视频服务。Discuz作为一款知名的社区软件,也在不断优化其功能以满足用户的需求。本教程将详细介绍...

    Discuzx2 开发标准流程笔记

    X2是Discuz! 系列论坛程序的一个版本,以其开源、强大的社区支持、丰富的插件和模板资源而广泛应用于各类网站论坛搭建。开发Discuz! X2的标准流程是一个系统性工作,需要遵循一定的规则和最佳实践。本文档通过对...

    ecshop的ucenter同步登陆uc.php 一点错误勘误

    本篇文章主要针对ECShop的`uc.php`文件中的`set_cookie`函数错误进行分析和修复,以确保用户在ECSHOP登录后,能在使用UCenter集成的其他应用如Discuz! X2论坛中实现同步登录和登出功能。 首先,`set_cookie`函数是...

Global site tag (gtag.js) - Google Analytics