视图中的自定义表单字段

问题描述 投票:0回答:1

我正在尝试为Drupal 8中的视图创建一个自定义字段,该视图允许执行操作而不更改页面(链接)。我想我必须在该自定义字段中创建一个表单,但我不知道如何实现。

关于在不重定向到路线的情况下如何做或其他替代方法的任何想法?

视图将是自定义实体的列表,每行我需要一个按钮。

提前感谢!

drupal-8
1个回答
1
投票

最后,我按照以下步骤解决了它:

  • 我创建了一个视图自定义字段(generate:plugin:views:field与drupal控制台)
  • 我创建了一个表单(generate:form)

然后,在视图自定义字段呈现函数中返回以下表单:

$form = \Drupal::formBuilder()->getForm('Drupal\test_module\Form\TestForm', $values->_entity->ID());
return $form;

重要的是要注意一个递增的(动态的)formId是正常工作所必需的]。我通过创建静态变量和__construct()方法来做到这一点,如下所示:

protected static $instanceId;

public function getFormId() {
  return 'my_form_id_' . self::$instanceId;
}

public function __construct(){
  if (empty(self::$instanceId)) {
    self::$instanceId = 1;
  }
  else {
    self::$instanceId++;
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.