我正在构建一个具有事件管理功能的Drupal 6站点,特别是:
- 出售活动参与
- 记录事件出席情况:一旦事件结束,管理员可以查看表示哪些用户真正参与的出勤情况
我搜索了很多,已经看过不同的类似帖子,并在发布之前考虑了不同的可能性,
包括注册模块和ubercart uc_signup模块,但似乎都不符合我的要求。
付款我使用的是Ubercart。
我的策略如下:
- 创建内容类型“事件”,其中包含有关事件的所有信息,包括事件的日期,描述等。
这也是Ubercart的产品。
这可以通过CCK和Ubercart轻松完成(在Ubercart中直接创建产品或使用CCK创建内容类型,在Ubercart中创建具有相同机器名称的产品)
- 创建一个“事件参与”内容类型,其中有一个字段包含对事件节点的引用,一个字段持有对订阅该事件的用户的引用,一个字段为“支付状态”(已支付或未支付),一个字段为“出勤状况“(有无参加)
这可以通过CCK轻松完成。
- 当用户想要参加活动时,她会创建一个类型为“event partecipation”的节点:
- 字段引用事件应自动填充事件
- 引用用户的字段应自动填充当前用户
- 只有当此特定事件和用户不存在此类型的节点时,才可能创建节点。
如果此事件已存在此类节点,则应删除该用户
- 新创建的节点的付款字段设置为“未付款”,并且考勤字段设置为“未参加”(新节点的默认值)
我认为所有这些要点都可以通过hook_form_alter()完成。有可能吗?
- 一旦“创建了活动参与”,就会向用户显示支付参与费用的链接。
这样做是将引用的事件添加到Ubercart购物车并将用户重定向到结帐页面
我认为这一点可以通过hook_form_alter()和Ubercart API完成。有可能吗?
- 当用户完成支付时,触发动作以设置参考所购买的产品的“事件参与节点”的“支付状态”字段,并且将购买用户设置为“已支付”。
我认为这可以通过Ubercart条件行动来实现。有可能吗?
- 此时,我们可以创建一个视图,显示参与活动的所有用户,查看“活动参与”,其中“付款字段”等于“付费”
事件“参与节点”仍然存在,因此,在事件发生后,管理员可以设置用户出席并在视图中显示它们(可能是相同的视图)
这只是通过视图完成的。
醇>
您怎么看?这可行吗?
我想详细介绍上述一些步骤,但现在我有兴趣讨论整体战略。
非常感谢您的关注和任何建议。