企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
<h2 style="font-weight:bold">文章</h2> 1. **文章是用来管理所有文档的地方** 包含一些基本的操作:新增、编辑、待审、发布、移到回收站、筛选、查找等。 文章所属一定的分类,分类目录可以编辑和新增。 ![](https://box.kancloud.cn/2016-08-03_57a19e35dbe98.png) 写文章时选择一定的分类,在所有文章列表中通过筛选分类将同一分类下的文章筛选出,便于查找和编辑。 在文章列表中有一个按钮为“应用”,此按钮可以进行批量操作,更改文章状态。 2.**分类目录** * 别名 唯一且必填,必须为英文字母可以用于获取分类,可供生成用户友好的url路由链接。 * 列表页模板 可为分类配置列表页模板,默认状态下模板文件为lists.html。 * 详情页模板 可为分类配置详情页模板,默认状态下模板文件为detail.html。 * 绑定表单 这里我们定义了一个文章表单,并提供了基本的表单字段,如文章标题、内容、封面图。当一个文章还需要其他字段时,我们提供了一个动态扩展的方法,那就是智能表单。 * 智能表单 创建分类时可为该类绑定表单类型,根据表单的类型,发布该类下的文章时即可调用相应表单模版。 在admin/controller/FormBuilder.php中我们定义了文章表单,包括title和description两个字段, // 文章表单 'article' => [ 'title' => '文章表单', 'fields' => [ 'description' => ['title' => '描述','name' => 'description','data' => '','placeholder' => '描述','type' => 'text','option' => ''], ] ], 这里的fields就是你想要扩展的表单。title即为表单的标题,name即为扩展字段的名称,data为数据值,type即为扩展字段的类型。这里文章表单的类型为text,text的样式我们在common/library/form.php表单控制器里控制, public function text($title,$option='',$data,$name,$placeholder,$class = 'form-control') { $this->assign('title',$title); $this->assign('data',$data); $this->assign('name',$name); $this->assign('placeholder',$placeholder); $this->assign('class',$class); $this->form = $this->form.$this->fetch('common@form/text'); return $this; } 至此我们完成了一个文章表单的创建。下面我将举例说明 在创建分类时,例如我们创建“新闻中心”这个分类,绑定表单为文章表单。 ![](https://box.kancloud.cn/2016-08-03_57a19e35f13c5.jpg) 编辑文章选择“新闻中心”这个分类时,那么定义的文章表单相应的字段就会加载出来。 ![](https://box.kancloud.cn/2016-08-03_57a19e361700d.jpg) 智能表单使文档的类型扩展更加灵活,只需在FormBuilder.php中加入你想创建的表单类型,并定义好表单需要扩展的字段,那么你就能够创建相应的表单,相应的字段以键值对的形式存放于KeyValue表中。这种方法提高了开发者的编程效率,无需在后台模板文件创建表单样式,无需在控制器里接收表单数据,无需在数据库里创建相应字段,就可以扩展你想要的任何表单类型。