私は(ASP.NET、MVC 3、Razorを使用して)Webサイトを構築しており、既成のCMSを使用していません。これは、既存のCMSの多くを評価した結果、すべてのCMSに膨大な学習曲線があり、必要のない機能がたくさんあり、ページ指向のモデルに強制されるためです。「ページ指向モデル」とは、一般的なページレイアウトとスタイルシートを指定できることを意味しますが、ユーザーが編集できるオブジェクトは、たとえば中央のパネルに表示されるページ全体であり、カスタマイズすることもできます。サイドバーも同様です。
しかし、このサイトは非常にデザイン中心であり、これよりもはるかに流動的で詳細である必要があります。「デザイン中心」とは、サイトがグラフィックデザイナーによってPhotoshopで構築され、デザインをHTML / css/jsにマッピングするために画像と複雑なスタイルを多用していることを意味します。また、サイトのすべてのページは完全に異なります。アコーディオンパネルなどのUI要素もあります。この場合、ユーザーは各パネルのコンテンツを編集できる必要がありますが、アコーディオンを強化するjQuery+HTMLは必要ありません。ユーザーは対象分野の専門家ですが、技術的ではありません。
そのため、ユーザーにアクセスさせたくない複雑なレイアウトとスタイルがたくさんあるページを作成しますが、この中に、たとえば、div
ユーザーに編集してもらいたいテキストが含まれています。
どうすればこれを最もよく達成できますか?
これまでのところ、ユーザーが編集できるHTMLの小さな単位であるスニペットを外部ファイルに保存することでこれを実装しています。実行モードでは、これらはインラインでロードおよび表示されます(ログインしていて権限がある場合は、[このコンテンツを編集]ボタンが少し表示されます)。[編集]ボタンをクリックすると、小さなWYSIWYG編集画面が表示され、変更を編集して保存できます。だから私はすべての厄介なものを制御し、ユーザーが編集可能なコンテンツのために小さなプレースホルダーを置くことができます。しかし、これは私にとって完全に単純なことではなく、もっと良い方法があるかどうか疑問に思っています。