ほとんどのCMSには、ユーザーまたは匿名ユーザーが入力するフォームを作成する方法があります。Sitecore 6でこのようなフォームを作成するためのメカニズムはありますか?
私の知る限り、このようなフォームを作成する唯一の方法は、サブレイアウト(ユーザーコントロール)で手動でフォームを作成し、そのサブレイアウトをページに追加することです。誰かがより良い方法を知っていますか?
フォームを作成する相手によって異なります。
コンテンツの作成者または管理者がwysiwygのようなインターフェイスを使用してフォームを作成および更新できるようにする場合は、Sitecoreで利用可能なWeb FormsforMarketersモジュールを使用することをお勧めします。確かに、コンテンツ作成者がフォームを作成できるようにするための万能薬ではありませんが、それはかなり堅牢であり、非常に拡張性もあります。
ただし、主に開発者がフォームを作成および保守する場合は、サブレイアウトアプローチを使用する方がおそらく簡単です。
ctfordの要点として、Web Forms for Marketers Moduleは、通常のSitecoreコンテンツデータベースではなく、独自のデータベースをフォームデータストレージに使用します。また、Sitecoreにデータを書き戻すのではなく、フォームに対しても同様のことをしたいと思うでしょう。しかし、それはあなたのビジネス要件に依存します。
UserControlの提案は、私が行う方法です。
Sitecoreは、他のCMS(RedDotなど)と同様に、切断された公開モデルを持っています。コンテンツは、ライブ環境にプッシュされる前に、別の編集環境に入力されます。
したがって、CMSに関する限り、ライブ環境は読み取り専用です。Sitecoreはライブデータベースに更新が行われることを想定していないため、これによりネイティブフォーム処理が許可されなくなります。匿名ユーザーからのデータを保存するには、CMSの制御外にカスタムデータベーステーブルを作成する必要があります。
私の知る限り、Drupalに匹敵するフォームAPIはありません。