首页 > 解决方案 > 管理栏中的撇号表单提交

问题描述

我有一个关于撇号形式的小问题。你是说:“默认情况下,提交被保存到一个新的 MongoDB 集合中,aposFormSubmissions”。

有没有办法在管理栏中显示提交,它们最终是否只是隐藏?

那么aposFormSubmissions在管理栏中显示集合的最简单解决方案是什么?

标签: apostrophe-cms

解决方案


根据您的用例描述(使用该reverseJoin功能,您将表单提交视为片段,功能齐全的内容。表单提交是非常简单的数据库文档,没有该功能。

简单回答结束。

您可以添加自己的提交作品类型,将作品与aposFormsSubmissions文档相关联。很难直接创建包含所有表单提交信息的片段,因为 Apostrophe Forms 的重点是不同的字段。但是一种新的片段类型可以存储表单提交文档的 ID,以及最少的识别信息。

    self.on('submission', 'createSubmissionPiece', async function(req, form, data) {
      // Insert a new doc of the `form-submission` type.
    });

然后,我会在表单本身中添加一个必填字段,以确定应该将哪个字段用作该人类可读的标识符(例如,电子邮件地址)。createSubmissionPiece除了时间戳之外,事件处理程序将使用该字段的值来设置片段的标题。

在这种情况下,当您想使用提交数据时,您会向aposFormSubmissions集合发出请求以获取实际的提交数据。

从那里您可以随心所欲地获得幻想,或者在总体思路上使用您自己的变体。


推荐阅读