云客Drupal源码分析之节点表单NodeForm

  节点表单是系统中使用最频繁最重要的表单,她是建立在许多组件和概念之上的,内容广泛,本篇意在起到一个指示和总结作用,帮助想直接操控节点表单的读者明白需要知道些什么,同时就节点表单本身进行介绍,这好似在爬山到了顶上,顶上并没有多少东西,节点表单就是最终的应用,就其本身并没有多少内容,因此本篇会很短,仅是一个综合运用的总结,更多重要内容是在爬山的路上,没有路上的内容将无法到达山顶,因此在阅读本篇前需要先知道许多前置知识,这些本系列已发布,这里整理出来供读者去学习:
《表单API》 :实体表单建立在基础表单之上,本系列发布过多篇表单相关主题,如示例、进阶等,后续还会针对表单具体问题继续发布
《实体表单entity form》 :完成所有实体表单的相同工作,重点讲述通用基类和实体表单运作流程
《实体表单显示EntityFormDisplay》 :管控表单中哪些字段显示,及其如何显示,介绍了表单模式
《字段控件FieldWidget》 :负责单个字段的表单生成、值提取、表单错误显示
《实体表单验证(上下集)》 :结合类型化数据组件验证表单、设置约束
《临时储存与消息服务》 :为节点表单提供预览数据的暂时存储,内容相对简单

节点表单建立在以上这些知识之上,是对她们的综合运用,下文讲述节点表单本身

节点表单设置:
节点添加表单的路由定义在node模块的静态路由定义文件中:
路由名:node.add
控制器为:\Drupal\node\Controller\NodeController::add
路径:'/node/add/{node_type}'

节点编辑、删除路由定义在节点模块的路由提供器中:
提供器类:\Drupal\node\Entity\NodeRouteProvider::getRoutes
路由名:“entity.node.edit_form”和“entity.node.delete_form”
路径分别为:
  '/node/{node}/edit'
  '/node/{node}/delete'
编辑、删除路由均以通用的“_entity_form”方式设置,添加路由虽然以控制器方式指定,但并没有什么区别

添加和编辑所用表单类(在实体释文中指定,这是本篇重点讲述的内容):
  "Drupal\node\NodeForm"
删除表单有两个:
  Drupal\node\Form\NodeDeleteForm(直接删除)
  Drupal\node\Form\DeleteMultiple(多步确认删除)

得到节点表单:
和通用的实体表单一样,是通过实体表单构建器产生,节点添加表单代码示例:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值