大多数 CMS 都有一种方法来创建供用户或匿名用户填写的表单。在 Sitecore 6 中是否有创建此类表单的机制?
据我所知,制作这样的表单的唯一方法是在子布局(用户控件)中手动创建它们,然后将该子布局添加到页面中。有谁知道更好的方法?
这取决于您要创建表单的人。
如果您希望内容作者或管理员能够使用所见即所得的界面来创建和更新表单,那么我建议您使用可用于 Sitecore 的营销人员 Web 表单模块。虽然肯定不是允许内容作者创建表单的灵丹妙药,但它非常健壮且可扩展。
但是,如果主要是开发人员创建和维护表单,那么使用子布局方法可能会更容易。
就 ctford 而言,营销人员网络表单模块确实使用它自己的数据库来存储表单数据,而不是典型的 Sitecore 内容数据库。您可能还想为您的表单做类似的事情,而不是将数据写回 Sitecore。但这将取决于您的业务需求。
Your UserControl suggestion is the way I would do it.
Sitecore, like other CMSes (such as RedDot), has a disconnected publishing model. Content is populated in a separate editing environment before being pushed to a live environment.
Consequently, the live environment is read-only as far as the CMS is concerned. This disallows native form processing because Sitecore doesn't expect updates to be made to the live database. To store data from anonymous users you would need to create custom database tables outside the control of the CMS.
As far as I know, there is no forms API comparable to Drupal's.