用户如何从视图中选择项目?

时间:2014-02-03 08:55:14

标签: drupal drupal-7

我有3种类型的用户:

  1. 作者
  2. 阅读器
  3. 网站管理员
  4. 到目前为止我做了什么?:

    我创建了名为Book的内容类型。 Authors在我的网站上创建帐户&登录&然后添加有关他们撰写的书籍的信息。我有一个名为books的页面显示的视图,其中列出了即使是匿名用户也可以看到的所有书籍。

    我需要什么?

    1. Reader应该能够选择'x'否。这个观点的书籍。没有。 Reader可以选择的书籍取决于他的等级Voracious ReaderModerate ReaderOccasional Reader
    2. Reader选择Book(s)后,Site Admin将会看到所有读者选择的书籍列表。
    3. 然后他会把这本书送到他们的地址(离线)&将状态更新为“已发货”。
    4. 当然读者应该能够看到他们所选择的所有书籍的清单及其状态。
    5. 我如何完成剩下的工作?

1 个答案:

答案 0 :(得分:1)

安装field collection module

在名为“ordered books”的用户个人资料中创建一个新的field_collection字段。

修改“有序图书”字段集合并添加2个字段:

  • 1本书 - 这将是您图书的实体参考 内容类型。您需要entity reference module

  • 1个被叫状态。这可以是值为“ordered”的列表 “已发送”。

现在,当用户编辑他们的个人资料时,可以选择他们想要的书籍。

此时您需要禁用状态字段以将其锁定为已订购。 (使用hook_form_alter)。

然后在自定义模块中使用hook_form_alter为用户配置文件表单添加一些额外的验证。

在新的验证功能中,检查提交表单的用户类型(贪婪,中等或偶尔)以及他们选择了多少本书,并在适当的时候提出任何错误。

当用户回顾他们的个人资料时,他们会看到一系列图书及其状态。

您可能希望研究创建一个名为“orders”的新节点类型。这可以具有对用户的实体引用,以及对书籍的实体引用。这样你就可以获得整个订单的状态以及单独的书籍,但这只是一个想法 - 你可能不需要它。