【问题标题】:Design consideration for designing mega menu for custom CMS in asp.net在 asp.net 中为自定义 CMS 设计巨型菜单的设计考虑
【发布时间】:2012-11-08 11:33:58
【问题描述】:

在设计可以处理 Mega Menus 结构的自定义 CMS 时可以遵循的最佳实践是什么,我找不到一个可以通过 CMS 的示例数据库设计清楚地展示的示例。

如果有人能指出一个很好的资源,其中包含数据库设计示例以及 asp.net Web 表单中的源代码,我将不胜感激。我可以灵活地使用数据库。

如果所有的菜单都存储在一个表中,则很容易设计 MegaMenu。在某些情况下,我必须从不同的表构建超级菜单,让我们以下面的主菜单为例

首页 |文章 |新闻 |关于我们 |联系我们

我想以这样的方式构建我的菜单,以便它可以从不同的表中读取菜单详细信息,例如

文章菜单:带图片的前 3 篇文章

新闻菜单:带图片的前 3 条新闻

联系我们菜单:应在两列或三列中显示指向美国、加拿大、德国、印度、英国等不同国家/地区办事处的链接。

到目前为止,我还没有找到任何有用的示例可以用作学习目的,它展示了具有不同功能的 CMS 的基本架构设计,例如新闻、产品(例如性质不同)

我尝试研究实际上将页面/帖子存储在一个表中的 wordpress,并分配值类型帖子或页面以区分但在某些情况下,我们需要有不同的东西,例如需要存储在不同表中的产品。我很困惑如何创建一个超级菜单系统,它可以从不同的表中读取菜单信息,而不是创建一个单独的菜单表,如果一个有数百种产品,这可能会让人头疼。在这种方法中,我们必须更新产品相关表以及菜单表,这不是一个好的设计方法。

【问题讨论】:

    标签: asp.net database-design content-management-system megamenu


    【解决方案1】:

    我建议你采用单表方法:

    查看我刚刚在 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 但对于它们所在的菜单项。

    【讨论】:

    • 谢谢,我有类似的方法并没有实现它,因为我需要创建另一个表“菜单”并以类似的方式设计它。我想我可能必须以同样的方式创建它。我查看了 word-press,他们也分别创建页面和菜单。
    【解决方案2】:

    您的问题非常非常模糊 - 但如果您想要 .Net CMS 中的大型菜单,您可以查看带有 LocalGov 扩展名的 Umbraco (http://kevin.thejumps.co.uk/2011/umbraco -localgov/)。即使你不使用它,你也可以看到其他人是如何实现这个功能的。

    【讨论】:

    • 我同意你关于这个问题的看法,但是这个话题太广泛了,很难记录所有的内容。我正在寻找的是一种 CMS 架构或核心引擎,人们可以围绕它构建或自定义具有不同部分的 CMS,例如新闻、画廊、媒体中心、活动、预订部分,这些部分的性质可能彼此不同......
    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2016-04-14
    • 2012-10-07
    • 2017-05-05
    • 2023-03-15
    相关资源
    最近更新 更多