0

我正在使用 Sitefinity CMS 并试图弄清楚如何将数据从“表单模块”表单保存到后端的单独数据库中。当前,所有响应都保存在构建表单时创建的表中。我想要做的是重新路由保存请求以通过我后面的代码并将数据保存到 Azure 表存储。有没有办法做到这一点,或者通过使用表单模块,我是否坚持将数据保存到表单构建时自动创建的表中?我已经尝试按照此处的说明创建自己的 FormsSubmitRouteHandler (http://docs.sitefinity.com/for-developers-submit-forms-using-ajax-call#register-a-form-submit-route-handler),但我一定是做错了什么,因为我的代码永远不会被击中。

任何帮助将不胜感激。如果我没有很好地解释自己,请告诉我。

4

2 回答 2

1

如果您不介意在 Sitefinity 数据库和自定义存储中拥有表单响应,那么您可以订阅 IFormEntryCreatedEvent 并在您的事件处理程序中编写将表单响应保存在其他地方的逻辑。有关更多详细信息,请参阅本文:http: //docs.sitefinity.com/for-developers-forms-events#iformentrycreatedevent

请记住,这将导致表单响应同时保存在 SF 数据库和您的自定义存储中。此外,您将无法通过 Sitefinity 后端管理存储在 custyom 存储中的条目。如果这是您的目标,那么 Vesselin 的答案是正确的方法,但更复杂。

于 2017-07-24T09:44:06.673 回答
1

您应该创建一个实现 FormsDataProvider 类的新提供程序。目前 Sitefinity 使用 OpenAccessFormsProvider - 因此您可以使用 JustDecompile 来查看它是如何实现的,并且可能会做类似的事情。然后您需要在 Administration > Settings > Advanced > Forms 中注册您的自定义提供程序

于 2017-07-19T00:59:44.200 回答