【发布时间】:2010-08-01 18:43:26
【问题描述】:
现在我可以看到可能有几种方法可以实现我需要实现的目标,而不是在遇到冰山时寻求帮助,所以我征求您的意见:您会怎么做?
我需要在 Drupal 中创建一个时间线。时间线有 3 层:十年(30 年代、40 年代、50 年代……)、年份和事件。
我将记录某一年发生的几件事。我每年将举办 2、3 或 4 场活动,但我没有每个活动的确切日期。我只需要将这些事件与特定年份联系起来,然后将这些年份与相应的十年联系起来。导航将从全局(十年)到具体(事件)。我可能会使用一些 jQuery 来折叠一个显示或隐藏其中十年的十年块(十个小框)当点击这些框时,用户将首先被带到详细的年份页面,然后到详细的事件页面,以防万一他们点击其中一个事件。
到目前为止,我的做法是:
1) 创建事件内容类型。这里的字段之一是节点引用。这使我可以将一个事件与其对应的年份联系起来。 2) 年份内容类型。这是一个简单的内容类型,由事件引用。我将每年创建一个节点(1930、1931、1932、1933 ...) 3) 对十年层使用分类法,以便注册的每一年都与注册的十年相关联(30 年代、40 年代、50 年代、60 年代、70 年代等)。
嗯,问题在于呈现这些信息。用 View 对其建模似乎很棘手。我想到的是:
1) 第一种方法 - 查询年份并按十年分组。然后我在这里有两个选择: 1.1)将它们链接到它们的完整年份节点。问题:如果我这样做,我无法从年份节点中提取相关事件。因为我的节点引用不是指向事件的年份,而是指向节点的事件。您认为我应该将节点引用放在年份内容类型而不是事件内容类型中吗? 1.2)我不知道这是否可能:不是链接到年份节点,而是使用 AJAX 在当前显示年份信息及其相关事件的当前窗口之上打开一个虚假窗口。我不知道这是否可能。
2) 第二种方法 - 我可以创建一个如下所示的分类法: 30 年代:1930 | 1931 | 1932 | 1933 | 1934 | ...
40 年代:1940 | 1941 | 1942 | 1943 | 1944 | ...
在这种情况下,我会放弃年份内容类型,并将事件直接链接到它们的年份和十年。我可能会失去灵活性,因为分类法只给了我一个标题和一个描述字段,而我可以拥有更多的年份内容类型
3) 第三种方法(菜单层次结构) - 我可以简单地创建十年,十年下的年份节点(将相应的十年设置为父菜单项),以及年份下的事件节点(将相应的年份设置为父菜单项) .我不希望子子项显示在常规菜单中,但这是我可以解决的问题。我可以只为这个层次结构创建一个非常具体的菜单。这会自动给我面包屑(如果我使用面包屑模块),这会很棒。但是,我怎样才能显示来自父节点的子页面?我的意思是,我怎样才能显示一年的事件列表?使用思考?这可能无法显示子页面列表。但我突然想到我可以创建一个视图块,它获取一个参数并显示链接到当前节点的节点......
无论如何,如果这太大了,我很抱歉。我不期望任何详细的答案,但任何帮助将不胜感激。我用 Drupal 做了一些事情,但这是我需要构建的第一个复杂结构。如果您知道任何涉及这种多层结构的博客,我感谢您的帮助。谢谢。
【问题讨论】:
标签: drupal content-management-system views drupal-views