0

我正在构建一个具有事件管理功能的 Drupal 6 站点,特别是:

  • 销售活动参与
  • 记录活动出席情况:活动结束后,管理员可以查看出席情况,表明哪些用户真正参与了

我搜索了很多,已经看到了不同的类似帖子,并在发布之前考虑了不同的可能性,包括注册模块和 ubercart uc_signup 模块,但似乎没有一个符合我的要求。对于付款,我使用 Ubercart。

我的策略如下:

  1. 创建一个内容类型的“事件”,其中包含有关事件的所有信息,包括事件的日期、描述等。这也是一个 Ubercart 产品。这可以通过 CCK 和 Ubercart 轻松完成(直接在 Ubercart 中创建产品或使用 CCK 创建内容类型和在 Ubercart 中具有相同机器名称的产品)
  2. 创建一个“事件参与”内容类型,其中包含一个包含对事件节点的引用的字段,一个包含对订阅事件的用户的引用的字段,一个用于“支付状态”的字段(是否已支付),一个用于“出席状态”的字段(参加与否)这可以通过 CCK 轻松完成。
  3. 当用户想要参加一个活动时,她会创建一个“活动参与”类型的节点:
    • 字段引用事件应自动填充事件
    • 引用用户的字段应自动填充当前用户
    • 仅当此特定事件和用户不存在此类型的节点时,才可以创建节点。如果此事件和用户已存在此类节点,则应将其删除
    • 新创建的节点的支付字段设置为“未支付”,出勤字段设置为“未参加”(新节点的默认值)
    我认为所有这些点都可以通过 hook_form_alter() 来完成。可能吗?
  4. 一旦“创建了活动参与”,用户就会看到支付参与费用的链接。这是将引用的事件添加到 Ubercart 购物车并将用户重定向到结帐页面 我认为这一点可以通过 hook_form_alter() 和 Ubercart API 来完成。可能吗?
  5. 当用户完成支付时,触发一个动作来设置引用已购买产品的“事件参与节点”的“支付状态”字段,并将购买用户设置为“已支付”。 我认为这可以通过 Ubercart 条件操作来实现。可能吗?
  6. 此时,我们可以创建一个显示所有用户参与事件的视图,查看“事件参与”,“支付字段”等于“支付”事件“参与节点”仍然存在,事件发生后,管理员可以设置用户考勤,并在一个视图中呈现(可能是同一个视图)这只是简单的用视图来完成。

你怎么看,可行吗?我想详细介绍上述一些步骤,但现在我有兴趣讨论整体策略。非常感谢您的关注和任何建议。

4

1 回答 1

0

这似乎 90% 正是您所寻找的: http ://drupaleasy.com/blogs/ultimike/2009/03/event-registration-ubercart

于 2010-11-03T20:34:21.513 回答