来自控制器中实体的Drupal 8.6表单

时间:2018-10-23 17:47:55

标签: php drupal-8

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

这是控制器的代码:

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行)中,调用成员函数getTranslationFromContext()中的null。

  • ContentEntityForm似乎没有任何依赖项
  • 在ContentEntityForm中,$this->entityRepository返回null

我想念什么吗?

1 个答案:

答案 0 :(得分:0)

Event实体本身存在问题。

Event实体引用的是EventForm,该实体的构造函数将覆盖ContentEntityForm。从EventForm

中删除__constructor时,此问题已解决。