我正在尝试为Drupal 8中的视图创建一个自定义字段,该视图允许执行操作而不更改页面(链接)。我想我必须在该自定义字段中创建一个表单,但我不知道如何实现。
关于在不重定向到路线的情况下如何做或其他替代方法的任何想法?
视图将是自定义实体的列表,每行我需要一个按钮。
提前感谢!
最后,我按照以下步骤解决了它:
然后,在视图自定义字段呈现函数中返回以下表单:
$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++;
}
}