灵活的侧边栏数据库设计

时间:2013-03-22 12:34:11

标签: php mysql database

在我的系统中,我有一个灵活的布局,您可以在其中放置侧边栏左侧或右侧(或两者)。您可以添加多个侧边栏,然后选择要用于页面的侧边栏以及位置。

在边栏中存储项目的最佳方式是什么,同时保持编辑每个侧边栏的项目配置的能力?

这些项目由一个php类组成,其中配置选项被传递给模板文件。

我的原始想法是实现某种短代码功能,并在数据库中的sidebar_item条目中添加一个短代码,但这种方式实际上并不是可配置的。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有:

  • 一个用户,可以将侧边栏放在他想要的位置,
  • 侧边栏,可以包含一些元素,
  • 项目,可以属于每个用户的每个侧边栏,
  • 处理不同类型项目的文件。

并且每个用户都有自己的侧边栏和自己的内容。

我可以提出表格:

  • users,其中用户由某个ID定义,
  • sidebars,您可以在其中说明它属于哪个用户,如果它是左或右,
  • item_types,您可以在其中说明应使用哪些模板和/或配置文件,
  • items的类型是什么(来自item_types),因此您知道要使用哪个模板,然后在哪个侧边栏(来自sidebars),可能是它的位置(第一,第二,......)。

你应该在:

之间建立关系
  • sidebarsusers用户ID,因此选择用户可以知道他拥有哪个边栏,
  • itemssidebars在侧边栏ID上,因此知道侧边栏,您知道哪些项目在其中,
  • 项目类型为
  • item_typesitems,因此您知道如何处理它,

也许,在items中,您还可以存储可以传递给模板的配置变量。