编辑按钮 php,自动编辑按钮-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

autoEdit("表单项" [, "表名", "验证器名", "自动插入时间戳", "时间格式", "是否弹窗"])

版本功能1.0.5支持弹窗

和自动添加按钮用法相类似

// 读取用户数据

$data_list = Db::name("admin_user")->select();

// 定义新增或编辑页面的字段

$fields = [

["hidden", "id"],

["text", "username", "用户名", "必填,可由英文字母、数字组成"],

["text", "nickname", "昵称", "可以是中文"],

["select", "role", "角色", "", RoleModel::getTree(null, false)],

["text", "email", "邮箱", ""],

["password", "password", "密码", "必填,6-20位"],

["text", "mobile", "手机号"],

["image", "avatar", "头像"],

["radio", "status", "状态", "", ["禁用", "启用"], 1]

];

// 使用ZBuilder构建数据表格

return ZBuilder::make("table")

->addColumn("id", "ID")

->addColumn("username", "用户名")

->addColumn("nickname", "昵称")

->addColumn("email", "邮箱")

->addColumn("mobile", "手机号")

->addColumn("create_time", "创建时间")

->addColumn("right_button", "操作", "btn")

->autoAdd($fields) // 添加新增按钮

->autoEdit($fields) // 添加编辑按钮

->setRowList($data_list) // 设置表格数据

->fetch();

需要注意的是,编辑需要用到主键字段,一般会设置为隐藏,比如上面的["hidden", "id"]

表单项

表单项是一个数组,每个元素表示一个字段数据,具体用法可以参考添加表单项通用方法。

表名

如果你的数据表名是当前模块名_当前控制器名,那么无需填写这个参数。假如不是,那么需要填写对应的表名,比如:

->autoEdit($fields, "admin_user")

验证器名

如果编辑数据的时候,需要用到验证器,那么可以填写验证器名,如果不需要用到验证器,那么可以不写或者填写空值。

默认情况下,填写true的话,系统会去使用验证器名为当前控制器名的验证器。比如当前控制器是Index,那么就会去调用Index验证器。

->autoEdit($fields, "admin_user", true)

如果不填写,那么提交表单的时候,则不会验证数据,而是直接写入数据。

也可以指定验证器名

->autoEdit($fields, "admin_user", "User")

自动更新时间戳

如果编辑数据的时候想自动插入创建时间和更新时间,那么可以这样写

->autoEdit($fields, "admin_user", "User", true)

提交表单的时候,DolphinPHP会自动更新当前时间戳到字段名为update_time的字段中。

前提是表中有这个字段。

如果表中的时间字段不是update_time而是其他,比如update_at,那么也可以直接写

->autoEdit($fields, "admin_user", "User", "update_at")

当然,也可以利用表单项的hidden类型来添加,比如

// 定义编辑页面的字段

$field = [

["hidden", "id"],

["text", "username", "用户名", "必填,可由英文字母、数字组成"],

["text", "nickname", "昵称", "可以是中文"],

["select", "role", "角色", "", RoleModel::getTree(null, false)],

["text", "email", "邮箱", ""],

["password", "password", "密码", "必填,6-20位"],

["text", "mobile", "手机号"],

["image", "avatar", "头像"],

["radio", "status", "状态", "", ["禁用", "启用"], 1],

["hidden", "update_time", $this->request->time()]

];

如果在编辑数据前需要复杂处理的,建议自己创建edit方法

自定义时间格式

从1.0.3版本开始,支持自定义时间字段的格式,默认为时间戳,如果想以普通时间格式存储的话,可以这样指定。

->autoEdit($fields, "admin_user", "User", true, "Y-m-d")

那么添加数据的时候,会自动添加create_time字段和update_time字段,它们的格式为:Y-m-d.

或者单独对某个字段的格式进行指定。

->autoEdit($fields, "admin_user", "User", "create_time|Y-m-d") // create_time字段写入的时间格式为Y-m-d

没有指定时间格式的字段,将默认为时间戳格式

->autoEdit($fields, "admin_user", "User", "create_time|Y-m-d,update_time")

create_time字段写入的时间格式为Y-m-d,而update_time为时间戳。

如果指定了时间格式,那么没有明确指定格式的字段,将统一使用后面指定的格式。

->autoEdit($fields, "admin_user", "User", "create_time|Y-m-d,update_time,log_time", "Y/m/d H:i")

create_time字段写入的时间格式为Y-m-d,而update_time和log_time的格式为Y/m/d H:i。

是否弹窗

从1.0.5版本开始,支持设置为弹窗

->autoEdit($fields, "admin_user", "User", "", "", true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值