我想用一个块模块构建一个表单Drupal 8
.我知道在Drupal
7 中构建表单,但Drupal 8中的表单似乎有所不同.
请求任何使用drupal8自定义表单作为块的人来帮助我.
Fra*_*bin 19
你的问题很模糊,因为我不知道你对Drupal 8中的模块,表格和模块了解了多少.所以这里有一个小指南要做什么,关于如何做详细的事情的进一步信息将是过度的这个答案.
1.创建一个新模块并启用它
看这里:命名并放置你的Drupal 8模块.
基本上你创建模块文件夹和模块信息yml文件让Drupal知道模块.然后使用drush或Drupal中的管理区域启用它.
2.创建表单
请看这里:Form API简介.
在your_module/src/Form
你下创建表单.上面链接中的更多细节.
3.创建块并渲染表单
看这里:创建一个自定义块.
在your_module/src/Plugin/Block/
你下面创建将呈现表单的块.
这个想法基本上是(根据Henrik的建议更新代码):
$builtForm = \Drupal::formBuilder()->getForm('Drupal\your_module\Form\Your??Form');
$renderArray['form'] = $builtForm;
return $renderArray;
Run Code Online (Sandbox Code Playgroud)
注意:您不需要包裹$builtForm
用$renderArray
,你可以只返回$builtForm
和被罚款.我个人喜欢这样做,因为我经常需要在最终渲染数组中添加其他内容,如标记,缓存设置或库等.
4.放置块
将块放在所需的区域.完成.