1

我在特定内容类型的所有页面上使用网络表单作为块。表单全部相同,但在提交列表中,我想知道用户正在查看哪个页面。我认为隐藏字段和默认值%title会做到这一点,但事实并非如此。我尝试了一堆其他令牌值,其中很多都可以工作,但没有一个给我当前节点的标识符。

4

1 回答 1

3

我认为它不起作用的原因是nodewebform 标记的元素是指 webform 本身的节点,而不是当前节点页面。为什么 webform 不使用我不知道的内置令牌系统,这似乎是一个错失的机会。

查看 webform 模块,我认为完成此操作的最简单方法是编写一个快速自定义模块,定义一个表(两列nidurl),然后实施hook_webform_submission_insert()以保存$_SERVER['REQUEST_URI']所有 webforms 的当前值。然后,您可以使用hook_webform_submission_load()hook_webform_submission_render_alter()分别将 URL 数据重新附加到提交并将其显示到页面。

您可以在模块中包含的文件中找到所有这些钩子webform_hooks.php,它们都有很好的文档记录。

于 2011-10-30T03:02:05.560 回答