【问题标题】:Connecting nodes to multiple dates将节点连接到多个日期
【发布时间】:2009-12-19 20:06:58
【问题描述】:

我有公司网站,在世界各地设有许多办事处(大约 50 个办事处)。 公司希望在特定的每一天与特定公司的员工一起制作礼物赠品。

例如:

Office 1: will do the giveaway the days: 1/1/2010, 7/1/2010, 15/1/2010, etc...
Office 2: the days: 2/1/2010, 9/1/2010, 19/1/2010, etc...
Office 3: ....
Office 50: ...

(天数是手动设置到特定办公室的,这里不需要算法)

每个办公室都有一个节点,它是 CCK 内容类型,包含每个办公室的详细信息(位置、电话、电子邮件等),现在我需要将这些日子分配给办公室。

但我的问题是我不需要创建事件(或至少节点事件),因为我不需要在事件中存储任何数据。只需要说:Office 1?是的,2010 年 1 月 1 日、2010 年 7 月 1 日等...
没有别的,只是想知道日期。

如果可能的话,让它们可以显示在日历模块中。

你有什么建议?

【问题讨论】:

    标签: date drupal drupal-nodes


    【解决方案1】:

    使用 CCK 和日期模块,您可以创建日期字段,但如果您要添加许多字段,这可能不是最佳解决方案。

    您有两种解决此问题的一般方法。要么你需要存储每个日期。这可以通过日期字段来完成,不确定它是否可以处理多个值、节点引用或类似的。这在某些方面是无效的,但可以很容易地生成日历视图。

    你也可以写一个字符串作为日期信息,然后让 php 将其转换为日期。这条路线将使创建和存储数据变得更容易,但会使事情与日历集成变得更加困难。

    最好/最简单的解决方案可能是使用日期模块的节点引用,结合脚本来创建所有需要的节点。而不是在 Drupal 中制作它们。

    您还可以创建一个自定义模块来为您存储此信息。这将是一个更长期的解决方案,需要更多的工作才能将其与视图和日期/日历模块集成。

    有很多方法可以解决这个问题,但这真的取决于你的需要、技能和时间

    【讨论】:

    • 是的,想象一下每个办公室每年添加大约 200 个日期。我认为 CCK 日期字段不好,专门用于编辑。谢谢
    • 这样的东西很好包括在内。每个办公室每年 200 个日期似乎有点多,那么注册不使用的日期会更容易。
    • 听起来不错。如果有可能以某种方式连接/链接节点,我可以每年创建一个节点(事件),并将办公室与日节点相关联。但我认为这对于管理员来说仍然是一个问题,以防需要修改日期。如何为每一年创建一个词汇表,以所有的日子为术语?
    • 您可以使用分类法,但很难将其与日历作为日期集成。
    • 是的,我将使用此配置:三种内容类型:办公室:包含办公室数据天数:每天(365 * 年)以编程方式创建一个节点,赠品:包含两个节点引用字段,一个用于 Office,另一个用于 Day。我可以只创建赠品内容类型,这就足够了。然后只剩下视图。
    【解决方案2】:

    为什么不使用一个普通的旧 CCK 文本字段,并清楚地说明它的用途以及如何使用帮助部分中的内容格式化它来备份它?

    使用文本区域(多行)并应用转换行换行符的默认输入格式。我也喜欢使用降价过滤器。

    您还可以使用多个单行字段代替文本区域...

    这假设您的用户当然足够聪明,可以输入正确的信息,但这就是帮助和描述的目的。如果您的用户不能被信任正确输入内容,那么可以,去做一些迫使他们这样做的事情。

    【讨论】:

    • 是的,问题是客户端需要一个简单的用户界面。而且我认为每年在多个单行字段中添加 200 个条目将导致包含大量字段的巨大表单。谢谢
    【解决方案3】:

    好的,我自己找到了解决方案,我想与您分享:

    创建了三种内容类型:

    办公室:有办公室数据
    天数:每天有一个节点(365 * 年)
    Giveaway:有两个节点引用字段,一个用于Office,另一个用于Day

    (必须使用填充未来 2 年左右的脚本手动填充天数)。

    所以我只能填写赠品内容类型,这就足够了。

    然后就只剩下视图了。

    【讨论】:

    • 好的,这更像是一种解决方法,对吧?我认为这个答案已经过时了。我会对可以使用 D7+ 构建的解决方案非常感兴趣
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    相关资源
    最近更新 更多