[TOC] ## 表单赋值 修改的时候,都会自动默认好值得,你如果确实希望强制修改值: ~~~ $this->setFormValue('title', '强行修改值'); ~~~ ## 值的获取 ~~~ public function modify() { if ($this->request->isPost()) { $data = $this->request->post();// 获取到提交的值 } // 调用父方法 $parent_return = call_user_func(['parent', __FUNCTION__]); if ($this->request->isPost()) { // 获取到已经修改以后的值 pr($this->local['data']); } else { // 获取到当条数据值 pr($this->local['data']); } return $parent_return; } ~~~ ## 动态表单 我希望某个字段添加和修改的时候表单类型不一样,怎么办? ~~~ public function modify() { // 模型的form 就是一个数组 如果仅希望在添加的时候才发生的变化,这里对变化进行动态赋值就是了 // 如:添加的时候把字段关闭了 $this->mdl->form['title']['elem'] = 0; return call_user_func(['parent', __FUNCTION__]); } ~~~ ## 额外条件 ~~~ public function modify() { // 给被修改数据增加额外更多的条件 // 比如:只能修改自己发布的数据 $this->local['where'][] = ['admin_id', '=', $this->login['id']]; return call_user_func(['parent', __FUNCTION__]); } ~~~ ## 自定义表单布局回调 同添加一致,参考上个文档 ## 自定义模板文件 所有修改操作使用的是同一个模板文件`woo\admin\view\form.html`。 如果你希望当前修改操作自定义一个模板文件,可以在应用的下的view试图目录中以当前控制器的“小写+下划线”创建一个目录,在该目录下创建"form.html";然后把默认的表单模板内容复制过来就完成了自定义模板文件的需求。 ~~~ {extend name="$extend_form"/} {block name="script"} <script> </script> {/block} ~~~ 如果你不希望自定义的文件名叫"form.html",你可以: ~~~ public function modify() { $this->local['fetch'] = 'create'; return call_user_func(['parent', __FUNCTION__]); } ~~~ ## 其他的可配置的 ~~~ $this->local['header_title'] = '自定义标题'; // 默认是“xxx修改” $this->local['return_list_url'] = (string) url('xxx'); // 自定义返回列表的链接 同时也是 修改成功以后 返回的链接 ~~~