2012-04-06 6 views
0

私はPHPで書かれた私のカスタムCMSを.net c#に切り替えることを試みています。私はcmsを学習プロジェクトとして使うことを考えていました。私はC#、NHibernateのORM層、mssql、mvc3、jqueryを使用します。さらに別の.net custom cms

コマーシャルやオープンソースのCMSがたくさんあることは知っていますが、まだ私はこのようなプロジェクトに取り組んでいる新技術を学ぶために自由な時間を費やすつもりです。

ので、などのCMSドメインモデルを作成する上でいくつかのアイデアを共有する意思があるそこにだれでも、便利なリンク、アイデアは、

答えて

2

本当に基本的なCMS

おかげで3つの要素で構成されている。

  • "ページ"を保持する1つのデータベーステーブル。テーブル構造は、「名前」と「コンテンツ」
  • 固定コントローラにタイプ/cms/pagenameの要求を変換するための経路で、メソッドは、パラメータ
  • の埋め込みHTMLエディタ今

としてcmspagenameと呼ばれますあなたの「ページ」を呼び出すには2通りの方法があります。作成モードまたは表示/編集モードです。

「作成」モードでは、ページはリクエストされていますが、まだデータベースにはありません(例:cms/announcement1)。このモードでは、HTMLエディタで構成されたビューを作成し、送信すると、そのページをデータベースに保存します。

「表示」モードでは、ページが要求され、データベースにはISです。必要な書き換えを実行します(たとえば、フォーム[cms/pagename]の内部リンクを完全ルーティング可能なhttpアドレスに書き換えて)。

ユーザーがページの編集権限を持っている場合は、「編集」ボタンも表示され、ページがロードされて編集可能なhtmlエディタが起動されます。

これだけです。

追加の要素がたくさんあります(キャッシュ、別の組み込みページタイプ、埋め込み画像、youtubes、書式設定済みのテキストなど)。これらはすべてオプションであり、コアがすでに実装されているときに新しい機能を導入できます。

上記の構造に従ったシンプルなCMSを書いたら、これはもっと大きなソリューションの一部でしたが、これまで数百回もうまく展開されました。カスタムCMSの利点は、それが本当にシンプルで簡単にメンテナンスできることです。

+0

私が正しく理解していれば、あなたはカスタムCMSをビルドすることに満腹感があります。あなたのシステムはプラグインを有効にしていますか?私は拡張可能なシステムを構築することに非常に興味があります。 – BobRock

+0

ファイルのアップロード/ダウンロードや組み込みのページテンプレートはありますが、プラグインは必要ありません。 –

関連する問題