1

使用 webform,我创建了一个包含几对相互关联的组件的表单。例如,文本字段类型的组件“名称”和标记类型的组件“名称”。目的是文本字段的提交将显示在标记字段中。

将为用户提供使用角色应该填写哪些文本区域以及他或她看到的标记字段。通过这种方式,我希望不同的用户(在这种情况下是学生)与单个用户(老师)进行通信。学生在 textarea 中提交的文本将显示为教师的只读文本。

在无与伦比的 Johan Falk 的帮助下, http: //vimeo.com/18701843,我可以从 Web 表单提交数据中获取数据到 Views 中。通过在上下文过滤器上使用提交 id (sid),我可以选择特定学生的提交并显示它。在“视图”的预览中,这可以正常工作。

我可以将上下文过滤器与用户(学生)选择的输入的提交 ID 一起使用。在预览视图中,这工作正常。然后我使用以下 php 代码将该块导入标记字段:

<? php
   $ block = module_invoke ('views', 'block_view', 'block_delta');
  print render ($ block ['content']);
?>

我的问题从这里开始!

上面print render ($ block ['content']);的块显示为对所有用户(学生)提交的调查。但是,我想使用 url 参数来显示特定用户的单个提交,就像上面提到的视图中的预览一样。我已经搜索了一种在上面的 php 代码中添加过滤器的方法,但找不到解决方案。

有谁知道如何解决它?提前致谢。

4

1 回答 1

0

如果我正确理解您的问题,我相信您可以使用仅适用于 Views 的给定过滤器生成所需的块。

  1. 尝试创建类型为Webform submits的新视图。(/admin/build/views/add)
  2. 添加块显示
  3. 添加关系Webform submits: User并确保它是必需的。
  4. 添加过滤器用户:当前是,它应该使用您的关系(网络表单提交用户)。

这应该将块输出过滤为来自当前登录用户的提交。

于 2013-03-24T05:21:09.277 回答