表达引擎成员到类别到通道关系

时间:2011-03-01 21:35:41

标签: expressionengine

  

可能重复:
  One-To-Many member-to-articles relationship

我们是表达引擎的新手,可以使用使用此CMS构建一些网站的任何人的帮助。

我们有一个小型仪表板系统,用户可以登录并阅读其他作者提交的文章。我们希望有一个表单,允许成员在登录时选择他想要在他的主页上的哪些类别的文章。然后我们想弄清楚如何实际创建该主页,以便只有用户选择的文章类别是可见的。

从数据库的角度来看,这似乎是用户和类别之间的一对多关系,但我们不知道如何在ee中实现这一点,特别是使用成员,因为它不是一个通道而且似乎没有允许在成员自定义字段中创建关系。

我们考虑为每个类别类型创建一个自定义字段,但是大约有95个,当我们添加或删除它们时,尝试跟上它们将会非常麻烦。即使我们这样做,我们仍然不确定如何通过类别将1个成员连接到许多类别或许多条目。

总之,我们的想法是,使用已登录的成员,获取一个快速的文章列表,这些文章已分配给多个类别中的一个,这些类别已被登录成员选为首选项。

1 个答案:

答案 0 :(得分:1)

创建一个表单,以多选或复选框格式向登录用户显示所有可用类别(使用channel:categories)。将表单发布到一个模板,该模板要么启用了PHP,要么包含一个简单的自定义插件的插件标签...要么应该使用已发布的类别数组,将它们连接到一个以管道分隔的列表,然后将其插入到一个简单的新数据库表(使用member_id(使用{logged_in_member_id}变量,或使用PHP模式,$this->EE->session->userdata['member_id'])和类别列表作为列),或者不太理想(但更简单地)将它们放在cookie中

然后,您可以从数据库或cookie中提取该类别列表,并将其用作channel:entries标记上的"category" parameter