·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

X5 中自定义自己的设置项

96 4
发表于 2025-5-1 08:50:57 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本着将开放进行到底的方针,X5 这次玩个大的,其实也不算太大......


这次讲一讲设置项,写过 Discuz! X 后台的开发者估计都熟悉 showsetting 这个函数。没错,是输出后台表单设置项的函数,他可以根据参数输出 radio、checkbox、textarea、file......(不一一列举了)等等类型的设置项。但是有一件事你想过没有,这么多的设置项依然不满足你的需求,为啥,见下面2个图:

是的,配色需要显示下颜色,甚至直接可以显示多个内容的设置。

是的,在 X5 里你的梦想实现了!

X5 中你可以自定义自己的设置项,我们称呼为设置项组件。

要写一个设置项组件插件,你需要在插件目录 admin/component/ 目录下添加文件。文件名为 component_xxxx.php 格式,内容如下:


按照前几天讲的内容,x5 新规范!命名空间~~懂!?

  1. <?phpnamespace sample\admin;if(!defined('IN_DISCUZ')) {    exit('Access Denied');}class component_test {    var $name = '自定义颜色';
复制代码
show(&$var, &$extra) 方法是编辑时需要展示的内容,你只需要把自定义的 HTML 内容写在这里,用下面的方法就可以显示为自定义的设置项组件了
  1. showcomponent('测试1', 'abc1', 'yellow', 'sample:component_test');
复制代码
对于复杂的设置项,我们还支持进行序列和反序列处理,比如刚才图中的多个 <input>
  1. // 数据提交入口后进行打包    function serialize($params, &$value) {        ...    }    // 数据重新编辑前进行解包    function unserialize($params, &$value) {        ...    }
复制代码
但这时就需要在输入提交入库前用 serializecomponent() 打包序列化一下。

然后~~没了,要不要去试一把先?
我要说一句 收起回复

评论4

拾光Lv.8 发表于 2025-5-1 08:51:38 | 查看全部
沙发位已占
我要说一句 收起回复
TyCodingLv.8 发表于 2025-5-1 08:52:32 | 查看全部
小板凳来了
我要说一句 收起回复
浅生Lv.8 发表于 2025-5-1 08:53:09 | 查看全部
{:7_172:}
我要说一句 收起回复
独家记忆Lv.8 发表于 2025-5-1 08:54:08 | 查看全部
沙发位已占
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

最新热评 加载中...
AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:216.73.216.44,GMT+8, 2025-6-17 18:28 , Processed in 0.261966 second(s), 87 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表