【问题标题】:How can I alter the webform based on it's parent paragraph type?如何根据其父段落类型更改网络表单?
【发布时间】:2021-07-19 22:04:49
【问题描述】:

我的目标是我制作的自定义段落类型,它允许您在其中嵌入网络表单。我只需要为在此段落类型中添加的那些表单更新提交回调。

我已使用钩子更改表单,但我似乎无法在该钩子中找到对父段落类型的引用来放置条件。

或者,当我预处理段落时,我可以访问内容,进而访问网络表单实体,但我无法从该功能更新表单设置?

编辑:我的最终目标是通过默认方法处理 ajax 提交,但在我的自定义回调函数中,以便我想用附加命令覆盖响应。

我目前能够做到,但这种方法会改变所有形式。

任何帮助将不胜感激。由于实现非常通用,因此我没有在此处添加代码块,但是如果有人想查看代码,请告诉我。

【问题讨论】:

    标签: drupal-8 drupal-webform


    【解决方案1】:

    $form_id 始终采用webform_submission_<webform_id>_<field_machine_name>_<delta>_add_form 的形式(请参阅下面的示例) 所以你可以像这样检查$form_id是否以webform_submission_<webform_id>_<field_machine_name>开头:

    function <your_module>_form_alter(&$form, $form_state, $form_id) {
        if (strpos($form_id, 'webform_submission_<webform_id>_<field_machine_name>') === 0) {
            // Your logic
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多