3

私は(ASP.NET、MVC 3、Razorを使用して)Webサイトを構築しており、既成のCMSを使用していません。これは、既存のCMSの多くを評価した結果、すべてのCMSに膨大な学習曲線があり、必要のない機能がたくさんあり、ページ指向のモデルに強制されるためです。「ページ指向モデル」とは、一般的なページレイアウトとスタイルシートを指定できることを意味しますが、ユーザーが編集できるオブジェクトは、たとえば中央のパネルに表示されるページ全体であり、カスタマイズすることもできます。サイドバーも同様です。

しかし、このサイトは非常にデザイン中心であり、これよりもはるかに流動的で詳細である必要があります。「デザイン中心」とは、サイトがグラフィックデザイナーによってPhotoshopで構築され、デザインをHTML / css/jsにマッピングするために画像と複雑なスタイルを多用していることを意味します。また、サイトのすべてのページは完全に異なります。アコーディオンパネルなどのUI要素もあります。この場合、ユーザーは各パネルのコンテンツを編集できる必要がありますが、アコーディオンを強化するjQuery+HTMLは必要ありません。ユーザーは対象分野の専門家ですが、技術的ではありません。

そのため、ユーザーにアクセスさせたくない複雑なレイアウトとスタイルがたくさんあるページを作成しますが、この中に、たとえば、divユーザーに編集してもらいたいテキストが含まれています。

どうすればこれを最もよく達成できますか?

これまでのところ、ユーザーが編集できるHTMLの小さな単位であるスニペットを外部ファイルに保存することでこれを実装しています。実行モードでは、これらはインラインでロードおよび表示されます(ログインしていて権限がある場合は、[このコンテンツを編集]ボタンが少し表示されます)。[編集]ボタンをクリックすると、小さなWYSIWYG編集画面が表示され、変更を編集して保存できます。だから私はすべての厄介なものを制御し、ユーザーが編集可能なコンテンツのために小さなプレースホルダーを置くことができます。しかし、これは私にとって完全に単純なことではなく、もっと良い方法があるかどうか疑問に思っています。

4

2 に答える 2

1

これを壊滅させるつもりはありませんが、私が現在研究していることに最も関連性のある質問のようです。最近、上記と同様のデータを作成しましたが、静的ファイルではなくデータベースからデータを取得しています。コントローラの各ページ(/aboutや/contactなど)について、Json文字列のキーと値のペアの形式でDBからそのページのデータを取得します。キーはプレースホルダータグ、値は..値です。デシリアライズした後、リストにデータを入力してViewBagに割り当て、CSHTMLでViewBag.List.Keynameを使用してテキストを取得します。

データベース内のテキストを変更できる小さな管理コントロールパネルがあります。ただし、ホバーオーバーをほとんど行わないことは素晴らしいアイデアです。

于 2015-10-30T07:28:47.640 に答える
0

さて、私は私の当初の計画に固執しました:

これまでのところ、ユーザーが編集できるHTMLの小さな単位であるスニペットを外部ファイルに保存することでこれを実装しています。実行モードでは、これらはインラインでロードおよび表示されます(ログインしていて権限がある場合は、[このコンテンツを編集]ボタンが少し表示されます)。[編集]ボタンをクリックすると、小さなWYSIWYG編集画面が表示され、変更を編集して保存できます。だから私はすべての厄介なものを制御し、ユーザーが編集可能なコンテンツのために小さなプレースホルダーを置くことができます。しかし、これは私にとって完全に単純なことではなく、もっと良い方法があるかどうか疑問に思っています。

今のところ、それはかなりうまく機能します。

于 2012-09-07T13:23:44.720 に答える