在D8中,我试图将表单插入到已经创建的页面/模板文件中。
我正在使用webforms,在webform提交页面(列出提交细节)上,我尝试插入一个自定义表单来做一些额外的事情。我已经生成了表单,但无法找到将表单插入模板/页面的正确方法。
我尝试在我想要的小枝模板中使用\Drupal::formBuilder()->getForm(form_name),但是Drupal不喜欢这样。
然后,我尝试使用hook_page_bottom和hook_page_top,但这实际上是将其附加到页面的最顶端,或者页面的非常底部(超出了主题/模板的界限),而不是我想要的位置。
我已经使用命名约定webform-submission--webform-machine-name.html.twig.重写了模板。
我假设您可以覆盖webform提交的默认模板,webform模块实现hook_theme或其他类似的钩子。有什么方法可以连接到这个钩子并将表单作为变量传递出去,然后使用{{ form }}在实际的模板中呈现它,还是需要创建自己的覆盖并将提交数据和表单数据传递到它?
我怀念那些只需要使用$form = drupal_get_form();并在模板中打印render($form);的日子。
发布于 2020-07-04 12:33:07
我能够自己解决这个问题,使用template_preprocess()并从那里生成表单。
https://drupal.stackexchange.com/questions/295051
复制相似问题