Drupal 8将标题从页面传递到webform

时间:2018-03-16 09:32:36

标签: drupal drupal-8

我面临的问题是,我列出了5个职位。每个工作都有它自己的页面,在该页面的底部我有一个申请这个工作的按钮。

现在,当您点击该按钮时,您需要填写一个新页面上的网页表格,以便申请该作业。

这里的问题是,当我们收到邮件时,我们不知道他们正在申请什么工作。

可能的解决方法是将节点标题传递给webform中的字段,或者仅传递给他们收到的邮件。但我似乎无法使其发挥作用。

我正在使用webforms模块,该网站是在Drupal 8中制作的。欢迎提出建议以解决此问题。

3 个答案:

答案 0 :(得分:0)

我强烈建议将每个工作申请表分开,并为每个工作申请表复制模板“工作申请表”,这样他们就不会全部去同一个地方。这将使您的整体流程更加清晰,并消除该问题。

Drupal 8的Webforms提供了非常好的模板选项,因此即使您自己无法访问内容类型/ webforms后端,管理员也应该能够创建每次都可以创建的“作业应用程序”模板当您创建新的职位发布时。

编辑添加:

您还可以使用一个小小的PHP来获取发送给webform的页面:

$ref = @$_SERVER[HTTP_REFERER]; //get referrer link
$nid = end(explode("/",$ref));  //get nid of referrer
$node_title = node_load($nid)->title; //get title of referring node

您放置此代码的位置取决于您的整体设置,但您可能会将其添加到字段的默认值。

答案 1 :(得分:0)

此问题的一个可能解决方案是您可以添加类型"隐藏"在您的网络表单中,并从页面标题或网址等可用标记中设置值。

例如:要设置页面标题,您可以将值添加为

[current-page:title]

不知道我们是否可以在其中添加节点标题

<强> - 或 -

您可以将其创建为节点或块,在此视频中对此进行了详细说明

https://www.youtube.com/watch?v=xYBW2g0osd4

答案 2 :(得分:0)

  1. 在您的节点类型上创建一个名为“Attached Webform”的实体引用字段
  2. 将“附加的网络表单”的默认值设置为您的网络表单。
  3. 不要通过转到表单显示设置并将“附加的网络表单”拖动到隐藏来显示此字段。

之后,您可以通过令牌访问节点数据,例如[webform_submission:node:title]

此外,如果您编辑网络表单的来源,您可以使用以下方法设置表单的标题:

'#title': 'Contact [webform_submission:node:title]'
name:
  '#title': 'Your Name'
  '#type': textfield
  '#required': true
  '#default_value': '[current-user:display-name]'
# ...