2017-07-18 112 views
0

我正在与Sitefinity CMS一起工作,并试图弄清楚如何将数据从“表单模块”表单保存到后端的单独数据库中。目前所有的响应都被保存到一个表格中,该表格是在表格生成时创建的。我想要做的是重新路由保存请求,然后通过我的代码,并将数据保存到Azure表存储。有没有办法做到这一点或通过使用Forms模块,我坚持保存数据到表格生成时自动创建的表格?我已经尝试创建我自己的FormsSubmitRouteHandler(http://docs.sitefinity.com/for-developers-submit-forms-using-ajax-call#register-a-form-submit-route-handler),但我必须做错事情,因为我的代码不会受到影响。将Sitefinity表单模块数据保存到单独的数据库

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

回答

1

您应该创建一个实现FormsDataProvider类的新提供者。 目前Sitefinity使用OpenAccessFormsProvider--所以你可以使用JustDecompile来看看它是如何实现的,并且可能做类似的事情。 然后,你需要在管理注册您的自定义提供>设置>高级>窗体

1

如果你不介意在Sitefinity数据库,并在您的自定义存储的形式回应,那么你可以订阅IFormEntryCreatedEvent和在您的事件处理程序中,您可以编写保存表单的逻辑,以便在其他地方使用。 看到这篇文章的更多细节:http://docs.sitefinity.com/for-developers-forms-events#iformentrycreatedevent

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

+1

上周搞乱了它后,我竟然这样做了。 –

相关问题