我在特定内容类型的所有页面上使用网络表单作为块。表单全部相同,但在提交列表中,我想知道用户正在查看哪个页面。我认为隐藏字段和默认值%title
会做到这一点,但事实并非如此。我尝试了一堆其他令牌值,其中很多都可以工作,但没有一个给我当前节点的标识符。
问问题
5033 次
1 回答
3
我认为它不起作用的原因是node
webform 标记的元素是指 webform 本身的节点,而不是当前节点页面。为什么 webform 不使用我不知道的内置令牌系统,这似乎是一个错失的机会。
查看 webform 模块,我认为完成此操作的最简单方法是编写一个快速自定义模块,定义一个表(两列nid
和url
),然后实施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 回答