【问题标题】:Editable timetable using Drupal使用 Drupal 编辑时间表
【发布时间】:2011-04-03 01:31:36
【问题描述】:

我想使用 Drupal 6 管理一个时间表,有几件设备可供管理员分配使用这些设备的人员。

基本上我想要一张设备表与一周中的哪一天。该计划显示了整周所有设备的占用情况。

更复杂的是,时间表的编辑应该非常简单快捷。通常人们拥有设备好几天,所以一个人应该能够,例如拖动条目并以这种方式填写更多天数。我还希望有一些可见的人可以拖到时间表上并以这种方式填写。我假设一个人可以用 javascript 做到这一点,但我没有这方面的经验。

  • 有没有可能创造一些东西 像 Drupal Forms API 那样?

  • 任何指针/示例 拖拽javascript?

  • 或者是否有一些现有的软件或 可以做到这一点的 Drupal 模块?

【问题讨论】:

    标签: php javascript drupal forms drupal-6


    【解决方案1】:

    我找到了一个不错的javascript example for drag and drop in a timetable,应该可以根据我的情况进行调整。我只需要弄清楚如何最好地将它与 Drupal 集成。

    编辑:

    我在答案顶部提到的脚本在我的 Drupal 安装中不起作用,所以我切换到 Jquery UI。

    我现在将它实现为一个自定义 Drupal 模块,该模块使用 JQuery UI 来实现拖放功能。我为 HTML 表格启用了拖放功能,以保存时间表,表格的元素通过 Javascript 读出,然后使用 ajax 发送到我的自定义 Drupal 模块。

    【讨论】:

    • 您可以使用ahah 动态获取某种子表单,包含3 个字段(日期、设备、用户),然后将可拖动元素关联到每个子表单。每个可拖动元素上都可以有一个按钮,该按钮打开一个包含字段小部件的“弹出式”div,以允许您编辑设备/用户值。日期应隐藏并通过 javascript 拖放设置。只需确保在其上使用#default_value 代替#value。
    【解决方案2】:

    一个 Fields drupal 7 模块,它创建一个可以通过漂亮的每周网格显示的时间表字段。可用于以非常简洁的方式显示营业时间或工作时间:

    http://drupal.org/project/field_timetable

    【讨论】:

      【解决方案3】:

      设备不能是内容类型,并且具有您所描述的不同属性吗?然后您可以将每个设备作为一个节点输入。与使用 Form API 相比,这将为您节省大量时间。

      CCK

      TableField CCK

      【讨论】:

        【解决方案4】:

        为什么不使用Event 模块?基本上,它为您提供了一个事件节点类型。然后一个视图就可以生成所有节点的日历页面。

        【讨论】:

        • 问题不是显示表格,而是轻松编辑它。一个人应该能够在一个页面中一次编辑每件设备的一周中的每一天。
        【解决方案5】:

        我不确定MERCI 模块是否具有您想要的所有功能。我进行了一些测试,它看起来不错,效果更好。虽然它仅在预发布的 aplpha 5 版本中可用,但它应该可以完成它的工作。

        拖放。正如@Fabian 建议的那样,使用一些 JQuery 改进表单应该不难。

        【讨论】:

          猜你喜欢
          • 2023-03-10
          • 1970-01-01
          • 1970-01-01
          • 2023-03-04
          • 1970-01-01
          • 2023-03-21
          • 2017-12-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多