0

メガメニュー構造を処理できるカスタムCMSを設計する際に従うことができるベストプラクティスは何ですか、CMSのデータベース設計の例で明確に示すことができる例を見つけることができません。

データベース設計の例とasp.netWebフォームのソースコードを含む優れたリソースを教えていただければ幸いです。データベースに柔軟に対応できます。

すべてのメニューが1つのテーブルに格納されている場合、MegaMenuの設計は簡単です。場合によっては、別のテーブルからメガメニューを作成する必要があります。たとえば、次のメインメニューを見てみましょう。

ホーム| 記事| ニュース| 私たちについて| お問い合わせ

次のような別のテーブルからメニューの詳細を読み取れるようにメニューを構成したいと思います。

記事メニュー:画像付きのトップ3記事

ニュースメニュー:画像付きのトップ3ニュース

お問い合わせメニュー:米国、カナダ、ドイツ、インド、イギリスなど、さまざまな国のオフィスへのリンクを2列または3列で表示する必要があります。

これまでのところ、ニュースや製品(たとえば性質が異なる)などのさまざまな機能を備えたCMSの基本アーキテクチャ設計を示す学習目的として使用できる有用な例は見つかりませんでした。

私は実際にページ/投稿を1つのテーブルに保存するワードプレスを研究し、区別するために値タイプpostまたはページを割り当てようとしましたが、場合によっては、別のテーブルに保存する必要がある製品など、さまざまなものが必要になります。何百もの製品があると本当に頭痛の種になるセパルトメニューテーブルを作成するのではなく、別のテーブルからメニュー情報を読み取ることができるメガメニューシステムを作成する方法がわかりません。このようなアプローチでは、製品関連のテーブルとメニューテーブルを更新する必要がありますが、これは優れた設計アプローチではありません。

4

2 に答える 2

2

あなたの質問は非常に漠然としていますが、.Net CMS でメガ メニューが必要な場合は、LocalGov 拡張機能を使用して Umbraco を調べることができます (http://kevin.thejumps.co.uk/2011/umbraco-localgov/ )。使用していない場合でも、他の人がこの機能を実装した方法を見ることができます。

于 2012-11-08T13:39:06.920 に答える
2

単一のテーブルアプローチを使用することをお勧めします。

dbpatterns で作成したばかりのこれを参照してください: http://dbpatterns.com/show//509bbcae89cbad253a2f5717/

だから今、賢明なコンテンツ

Example

ID: 1
Title: Article
item_link: home.aspx
parent: null
order: 1

ID: 2
Title: Article
item_link: page.aspx
parent: null
order: 2

ID: 3
Title: Article Number 1
item_link: page1.aspx
parent: 1 (ID of Article)
order: 1


ID: 4
Title: Article Number 2
item_link: page2.aspx
parent: 2 (ID of Article)
order: 2

ID: 5
Title: Article Number 3
item_link: page3.aspx
parent: 2 (ID of Article)
order: 3


ID: 6
Title: News
item_link: News.aspx
parent: null
order: 3

ID: 7
Title: News Number 1
item_link: News1.aspx
parent: 6 (ID of News)
order: 1


ID: 8
Title: News Number 2
item_link: News2.aspx
parent: 6 (ID of News)
order: 2

ID: 9
Title: News Number 3
item_link: News3.aspx
parent: 6 (ID of News)
order: 3

したがって、メニューコード側をビルドすると、すべてのアイテムが取得されます

親のない各アイテムをループして最上位を構築し、次に親を持つ各アイテムをループして、親アイテムに追加し、順序で並べ替えます (順序はサブメニューごとであることに注意してください)。

注文に関する注意: 最上位のアイテムは 1、2、3、4 などになります。

サブメニュー項目も 1、2、3 になりますが、メニュー項目の場合はその中にあります。

于 2012-11-08T13:29:04.957 に答える