大多数CMS都可以为用户或匿名用户填写表单。是否有在Sitecore 6中创建此类表单的机制?
据我所知,制作这样的表单的唯一方法是在子布局(用户控件)中手动创建它们,然后将该子布局添加到页面。有谁知道更好的方法吗?
答案 0 :(得分:3)
这取决于您想要创建表单的人。
如果您希望内容作者或管理员能够使用类似Wysiwyg的界面来创建和更新表单,那么我建议您使用适用于Sitecore的Web Forms for Marketers模块。虽然当然不是允许内容作者创建表单的灵丹妙药,但它非常强大且非常易于扩展。
但是,如果它主要是开发人员创建和维护表单,那么您可能更容易使用子布局方法。
至于ctford的观点,Web Forms for Marketers Module确实使用它自己的数据库来存储表单数据,而不是典型的Sitecore内容数据库。而且你可能也希望为你的表单做类似的事情,而不是将数据写回Sitecore。但这取决于您的业务需求。
答案 1 :(得分:0)
您的UserControl建议就是我这样做的方式。
Sitecore与其他CMS(例如RedDot)一样,具有断开连接的发布模型。在推送到实时环境之前,内容将在单独的编辑环境中填充。
因此,就CMS而言,实时环境是只读的。这不允许本机表单处理,因为Sitecore不希望对实时数据库进行更新。要存储来自匿名用户的数据,您需要在CMS的控制之外创建自定义数据库表。
据我所知,没有与Drupal's相当的表单API。