【问题标题】:Custom forms in Drupal 8Drupal 8 中的自定义表单
【发布时间】:2016-06-02 13:22:35
【问题描述】:

我正在为一些 Drupal 8 表单/实体类型编码而苦苦挣扎。 基本上这里是任务的简短摘要: 我有来自 eck 模块的实体类型,所以说三个字段: 姓名: 电子邮件: 电话: 因此,我使用 FormBase 类创建了一个自定义表单供用户填写,这很好,但是我不知道如何将发布数据保存到实体中。 如果它是一个节点,我会使用 Node::create 函数,但这是一个实体,所以我需要另一种方式。 所以我想我的任务是: 1.获取我要保存的实体的ID 2.想办法将表单数据保存到实体中

我对 Drupal 8 非常陌生(就像我猜的大多数人一样),我尝试过谷歌搜索信息但我找不到任何我理解的东西,任何帮助都会很棒,这应该是一个简单的任务我会想到吗?

【问题讨论】:

    标签: forms api drupal entity


    【解决方案1】:

    我个人不使用 ECK 模块,所以我不知道它是如何工作的,我只能想象。我自己建立我的实体。 但我所知道的是,FormBase 类是错误(本身并没有错,但还有另一个类可以完全处理您想要的)一个用于保存实体的类。您应该为此使用 ContentEntityForm 类。

    文档:https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Entity!ContentEntityForm.php/class/ContentEntityForm/8.2.x

    FormBase 类是通用表单类,您基本上将它用于自定义和简单的东西,您只需要 buildForm、validateForm 和 submitForm 实现(或多或少)。

    【讨论】:

    • 感谢弗兰克,是的,我现在可以看到,也为链接欢呼:)
    猜你喜欢
    • 2020-06-21
    • 2016-10-03
    • 2017-10-10
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多