从干净的URL中获取值到Drupal 7中的webform隐藏字段

时间:2013-10-29 21:52:05

标签: drupal drupal-7 drupal-modules drupal-webform

如果他们对这份工作感兴趣,我会在工作列表页面上添加一个网页表单。作业列表页面本身是作为工作搜索的结果从自定义模块创建的,我包括webform,如下所示:

render(node_view(node_load(363), 'full', NULL));

其中363是webform id。所以我试图找出如何将至少工作号传递到webform中。我知道我可以编辑webform以包含一个隐藏字段,我可以从URL获取值,例如%get [key],但我使用的是干净的URL,所以我没有URL中的特定键,如www.example.com/ jobs?job_number = 1234我可以抓住“job_number”。我的实际网址如下所示:http://www.example.com/job-board/view/41904所以我需要在网络表单中抓取41904。我怎么能做到这一点?我可以在我的webform隐藏字段中使用特殊令牌,还是在我的自定义模块中有一种方法以某种方式将作业号传递给webform,当我在作业详细信息页面上显示它时?

2 个答案:

答案 0 :(得分:0)

好的,所以我想出了这个。所以在我调用我的webform之前看起来就好了,我实际上可以设置一个$ _GET参数,它将传递给webform。所以我在自定义模块中执行了此操作:

// send job_number to webform via $_GET
$_GET['job_number'] = $job_number;
render(node_view(node_load(363), 'full', NULL));

现在在我的网络表单中,我添加了一个隐藏的表单字段,其中%get [job_number]为默认值,这很有效。

答案 1 :(得分:0)

您可以使用arg();

获取所有参数

echo "<pre>";
print_r(arg());
echo "</pre>";

在你的情况下,你可以通过echo arg(2);

获得它