【问题标题】:Drupal 8.6 Form from entity in controllerDrupal 8.6 来自控制器实体的表单
【发布时间】:2019-03-28 01:01:43
【问题描述】:

我正在尝试从控制器中的实体创建表单。

这是控制器的代码:

class OutOfOfficeController extends ControllerBase
{
    /**
     * @return array
     */
    public function add()
    {
        $event = $this->entityTypeManager()->getStorage('event')->create(['type' => 'out_of_office']);
        $form  = $this->entityFormBuilder()->getForm($event);
        return $form;
    }
}

这是我得到的错误:

错误:在 Drupal\Core\Entity\ContentEntityForm->initFormLangcodes()(core/lib/Drupal/Core/Entity/ContentEntityForm.php 的第 313 行)中,在 null 上调用成员函数 getTranslationFromContext()。

  • 看来 ContentEntityForm 没有任何依赖关系
  • 在 ContentEntityForm 中,$this->entityRepository 返回 null

我错过了什么吗?

【问题讨论】:

    标签: php drupal-8


    【解决方案1】:

    Event 实体本身存在问题。

    Event 实体指的是EventForm,它有一个覆盖ContentEntityForm 的构造函数。当 __constructor 从EventForm 中移除时,问题已解决

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多